I want to add a directory to search my search path. I know I have to modify the PATH
environment variable. However, I want the change to be permanent, so that it is always in effect, for every Terminal (bash) window I open.
There is an overload of confusing and possibly conflicting information in https://help.ubuntu.com/community/EnvironmentVariables
I am using Ubuntu 10.04. Suppose I want to add /usr/local/foo
to my PATH
. Which file (.bashrc
, .profile
, .bash_login
, etc…) should I modify and what should the new line(s) look like?
Best Answer
The following command adds a path to your current path:
If you want your setup to execute this command every time, there are a number of places where you can put it. When you login, the following scripts will be executed in this order:
Notes
~/.profile
is only loaded if~/.bash_profile
and~/.bash_login
DO NOT EXIST. Otherwise, at least bash, will load them instead. It is advisable to use.profile
and not the bash specific scripts. So, if in these attempts you created.bash_login
, please delete it now.~/.bashrc
is only loaded if you are running an interactive session. (something with a prompt where you can actually type something).~/.bashrc
is loaded again and again, every time you open up a new terminal. So a new tab in gnome-terminal, a new virtual terminal, etc. So even if you don't login again,.bashrc
is loaded (and thereby resets its environment) every time you open a new shell.Things like byobu should really go into
.profile
, (otherwise it won't work ;-)Things like paths should go into
.profile
if you want them to work outside of the interactive sessions. (say when you press Alt+F2 in GNOME)