Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I am using ubuntu 9.04 I need to add some folder to my $PATH. I know how to read the path:

echo $PATH

I want to be able to edit it and add 2 other paths.

Thanks

share|improve this question

migrated from stackoverflow.com Oct 15 '12 at 21:58

This question came from our site for professional and enthusiast programmers.

2  
Once you're able to d this you may want to perform more sophisticated operations on PATH: stackoverflow.com/questions/273909/… –  dmckee May 26 '09 at 13:44
    
Belongs on Unix or Ubuntu sites. –  Thomas Bratt Oct 15 '12 at 15:16

5 Answers 5

up vote 16 down vote accepted

To permanently store your path, you have a few options.

I suggest you read the Ubuntu community wiki on Environment Variables but the short answer is the best place is ~/.profile for your per-user PATH setting or /etc/profile for global settings.

Do something like export PATH=$PATH:/your/new/path/here

share|improve this answer
3  
It is important to note that there are many occasions your profile is not run (such as when a script is run by cron). If you need a specific path to be set in PATH, a script must set that path. That said, scripts should never rely on anything being in their paths and should always use absolute paths, anything else is a security issue. –  Chas. Owens May 26 '09 at 13:18
PATH=$PATH:newPath1:newPAth2
export PATH
share|improve this answer
2  
I think you can do that all on one line if you want to. export PATH=$PATH:newPath1:newPAth2 –  Chris Lutz May 26 '09 at 11:03
1  
It depends on the shell you're using. On Solaris (I know the question is about Linux) one of the shells (can't remember which one off the top of my head) requires that you do the export separately from setting the value in a script. So I've just gotten into the habit of doing it on 2 lines. –  Glen May 26 '09 at 11:05

You can also put this in the global environment:

sudo emacs /etc/environment

Append to the entries already in your path

PATH="/path/to/file:/other/paths"

Reload the environment

source /etc/environment
share|improve this answer
    
Editing the environment file was the only way I could get the PATH to change and stay changed. –  Thomas Langston Oct 10 '10 at 21:59

It has already been answered on how to do that, but I'd like to give you a little tip. Here is whatI do:

I have a directory called .bash.d in my $HOME and within that I keep a set of shell scripts that do stuff to my environment (for instance setup maven correctly, modify the path, set my prompt etc.). I keep this under version control by using git, which makes it easy to go back to a working version of your env, if you screw something up badly. To get all the modifications, I simply source all files in that dir at the end of my .bashrc like this:

for i in $HOME/.bash.d/*; do source $i; done
unset i

This gives you a very flexible environment that you can easily modify and restore + you are able to export it to other machines just by using git.

share|improve this answer

echo PATH=$PATH:path1:path2 > tmp

Edit the file tmp with your favourite text editor so the value of PATH is exactly what you want

. ./tmp

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.