0

I have an "installer" script that installs a couple scripts and a directory for them. This works as expected. In the middle of my script I also have an alias I inject into the local .bashrc so that the script can be called from the commandline:

echo -e "..........Adding Alias"
echo "alias Change=~/ChangeTool/Change" >> .bashrc

echo -e "..............Recompiling environment"
. ~/.bashrc

I can confirm it does show up in my .bashrc when I run the installer. However, if I rm -rf my script directory, remove the line from (and recompile with . ./.bashrc) my .bashrc, and reinstall, I get "Change command not found".

I then thought to myself "o.k., I'll try again." so I remove the line and recompile bashrc myself. I more .bashrc and it's no longer there. Out of curiosity I tried the Change command and it worked.

Is there just some weird delay with installing aliases?

Edit: Here is the output on fresh install:

PSTSAUTO@MUXALRM:~$ ./installer.sh 
Installing [ ASR9K CHANGE TOOL ]
..........Targeting /home/PSTSAUTO/
..........Getting raw tarball
..............Extracting the tarball
..........Adding Alias
..............Recompiling environment
..........Install Complete.

PSTSAUTO@MUXALRM:~$ Change
Change: command not found
PSTSAUTO@MUXALRM:~$ grep "Change" .bashrc
alias Change=~/ChangeTool/Change
PSTSAUTO@MUXALRM:~$ 

So it's there but it doesn't work. As stated in code snippet above I did try to source with the . command.

KuboMD
  • 141

0 Answers0