-->

Update .bashrc from provisioning shell script with

2020-08-20 11:37发布

问题:

I'm trying to add some additional lines to .bashrc in my home directory from the provisioning shell script when launching a new instance with Vagrant.

In the shell script I have:

set -x

sudo apt-get update

sudo apt-get install vim

echo "source /usr/local/share/chruby/chruby.sh">> ~/.bashrc
echo "source /usr/local/share/chruby/auto.sh">> ~/.bashrc

However after completion nothing has been written to .bashrc.

This is a cut down version of the full script the intention of which is to install Ruby/Rails.

回答1:

You need to give the full path to the file.

E.g.

echo "source /usr/local/share/chruby/chruby.sh" >> /home/vagrant/.bashrc


回答2:

Add these lines to .bashrc

if [ -f /usr/local/share/chruby/chruby.sh ]; then
    . /usr/local/share/chruby/chruby.sh
fi

It will textually include the script into .bashrc and execute it when opening a new shell.



回答3:

Try this for your last 2 lines - it should give you exactly what you need.

echo "source /usr/local/share/chruby/chruby.sh" >> /home/vagrant/.bashrc

echo "source /usr/local/share/chruby/auto.sh" >> /home/vagrant/.bashrc