So, I've got a bunch of vagrant VMs running some flavor of Linux (centos, ubuntu, whatever). I would like to automatically ensure that a "vagrant ssh" will also "cd /vagrant" so that no-one has to remember to do that whenever they log in.
I've figured out (duh!) that echo "\n\ncd /vagrant" >> /home/vagrant/.bashrc
will do the trick. What I don't know is how to ensure that this only happens if the cd command isn't already there. I'm not a shell expert, so I'm completely confused here. :)
cd
is a Bash shell built-in, as long as a shell is installed it should be there.
Also, be aware that ~/.bash_profile
is for interactive login shell, if you add cd /vagrant
in ~vagrant/.bashrc
, it may NOT work.
Because distros like Ubuntu does NOT have this file -> ~/.bash_profile
by default and instead use ~/.bashrc
and ~/.profile
If someone creates a ~/.bash_profile
for vagrant user on Ubuntu, ~vagrant/.bashrc
will not be read.