How to add a directory to the PATH?
How do I add a directory to the $PATH in Ubuntu and make the changes permanent?
environment-variables
migrated from serverfault.com Sep 6 '11 at 7:35
This question came from our site for system and network administrators.
add a comment |
How do I add a directory to the $PATH in Ubuntu and make the changes permanent?
environment-variables
migrated from serverfault.com Sep 6 '11 at 7:35
This question came from our site for system and network administrators.
1
help.ubuntu.com/community/EnvironmentVariables There is all you need to know. I found out that a lot of the input here was incorrect or at least the method was not suggested. This is a great piece of information that will let you figure out where to modify your environment variable based on the reason you are doing it and exactly how to do it without screwing everything up (like I did following some of the aforementioned bad advice). So long, and thanks for all the fish!
– Bus42
Jun 12 '16 at 20:30
add a comment |
How do I add a directory to the $PATH in Ubuntu and make the changes permanent?
environment-variables
How do I add a directory to the $PATH in Ubuntu and make the changes permanent?
environment-variables
environment-variables
edited Nov 8 '16 at 18:11
αғsнιη
24.3k2295156
24.3k2295156
asked Jul 22 '09 at 20:42
justingrifjustingrif
3,86051518
3,86051518
migrated from serverfault.com Sep 6 '11 at 7:35
This question came from our site for system and network administrators.
migrated from serverfault.com Sep 6 '11 at 7:35
This question came from our site for system and network administrators.
1
help.ubuntu.com/community/EnvironmentVariables There is all you need to know. I found out that a lot of the input here was incorrect or at least the method was not suggested. This is a great piece of information that will let you figure out where to modify your environment variable based on the reason you are doing it and exactly how to do it without screwing everything up (like I did following some of the aforementioned bad advice). So long, and thanks for all the fish!
– Bus42
Jun 12 '16 at 20:30
add a comment |
1
help.ubuntu.com/community/EnvironmentVariables There is all you need to know. I found out that a lot of the input here was incorrect or at least the method was not suggested. This is a great piece of information that will let you figure out where to modify your environment variable based on the reason you are doing it and exactly how to do it without screwing everything up (like I did following some of the aforementioned bad advice). So long, and thanks for all the fish!
– Bus42
Jun 12 '16 at 20:30
1
1
help.ubuntu.com/community/EnvironmentVariables There is all you need to know. I found out that a lot of the input here was incorrect or at least the method was not suggested. This is a great piece of information that will let you figure out where to modify your environment variable based on the reason you are doing it and exactly how to do it without screwing everything up (like I did following some of the aforementioned bad advice). So long, and thanks for all the fish!
– Bus42
Jun 12 '16 at 20:30
help.ubuntu.com/community/EnvironmentVariables There is all you need to know. I found out that a lot of the input here was incorrect or at least the method was not suggested. This is a great piece of information that will let you figure out where to modify your environment variable based on the reason you are doing it and exactly how to do it without screwing everything up (like I did following some of the aforementioned bad advice). So long, and thanks for all the fish!
– Bus42
Jun 12 '16 at 20:30
add a comment |
17 Answers
17
active
oldest
votes
Using ~/.profile to set $PATH
A path set in .bash_profile will only be set in a bash login shell (bash -l).
If you put your path in .profile it will be available to your complete desktop session. That means even metacity will use it.
For example ~/.profile:
if [ -d "$HOME/bin" ] ; then
PATH="$PATH:$HOME/bin"
fi
Btw, you can check the PATH variable of a process by looking at its environment in /proc/[pid]/environ (replace [pid] with the number from ps axf). E.g. use grep -z "^PATH" /proc/[pid]/environ
Note:
bash as a login shell doesn't parse .profile if either .bash_profile or .bash_login exists. From man bash :
it looks for ~/.bash_profile, ~/.bash_login, and ~/.profile, in that
order, and reads and executes commands from the first one that exists
and is readable.
See the answers below for information about .pam_environment, or .bashrc for interactive non-login shells, or set the value globally for all users by putting a script into /etc/profile.d/ or use /etc/X11/Xsession.d/ to affect the display managers session.
4
Cool, that worked. I saw where it will auto add the bin dir if I make it so I just used that instead of scripts. TY.
– justingrif
Jul 22 '09 at 22:13
3
On Xbunutu .profile isn't be executed so I put it in .bashrc and it works.
– tekumara
Aug 25 '12 at 22:21
11
This piece of documentation is very well done: Official documentation about environment variable. Consider reading it (not to say that is updated to the last version of the rules to add values to environment variable).
– Michele
May 23 '13 at 13:38
2
Where in .profile do we add the path ??
– Vineet Kaushik
Oct 2 '15 at 2:40
2
I've still got no idea where to add my extra path part to. I need to add the android SDK to my path...PATH="$HOME/bin:$PATH"So I add it to it?
– Jamie Hutber
Apr 25 '16 at 14:37
|
show 5 more comments
Edit .bashrc in your home directory and add the following line:
export PATH="/path/to/dir:$PATH"
You will need to source your .bashrc or logout/login (or restart the terminal) for the changes to take effect. To source your .bashrc, simply type
$ source ~/.bashrc
2
How do you "source your.bashrc"? How do you "restart the terminal"?
– isomorphismes
Sep 10 '11 at 1:16
3
In bash it is simply '. .bashrc'
– Ophidian
Sep 12 '11 at 2:54
1
I was making the assumption that you were in your home directory. since that's where the .bashrc you want to edit is.
– Ophidian
Feb 16 '12 at 14:23
17
.bashrcis not the right place for setting environment variables. They should go in.profileor.pam_environment. See mywiki.wooledge.org/DotFiles
– geirha
Mar 2 '12 at 12:21
4
@LaoTzu. .bashrcnot.bashrc:) orsource .bashrcfor that matter
– Znarkus
Aug 21 '12 at 8:26
|
show 3 more comments
The recommended place to define permanent, system-wide environment variables applying to all users is in:
/etc/environment
(which is where the default PATH is defined)
This will work in desktop or console, gnome-terminal or TTY, rain or shine ;)
To edit, press Alt+F2 and type:
gksudo gedit /etc/environment
(or open the file using
sudoin your favorite text editor)
To effect changes, run . /etc/environment. Since this file is just a simple script it will run and assign the new path to the PATH environment variable. To check run env and see the PATH value in the listing.
Related:
- https://help.ubuntu.com/community/EnvironmentVariables
5
and then you need to reboot for changes to take effect...
– Lee
Nov 17 '13 at 9:27
2
This is exactly what I needed. Provisioning a throw-away vm image via vagrant and needed to add node and npm to the path.
– Austin Pray
Jun 30 '14 at 3:07
7
To take changes in effect run . /etc/environement (yes, dot, a space and /etc/environment). Since this file is just a simple script it will run and assign the new path to the PATH environment variable. To check run env and see the PATH value in the listing.
– WindRider
May 20 '15 at 13:27
1
I needed to runsource /etc/environmentto reload the changes
– JohnnyAW
May 16 '18 at 8:54
add a comment |
I think the canonical way in Ubuntu is:
create a new file under
/etc/profile.d/
sudo vi /etc/profile.d/SCRIPT_NAME.sh
add there:
export PATH="YOUR_PATH_WITHOUT_TRAILING_SLASH:$PATH"
and give it execute permission
sudo chmod a+x /etc/profile.d/SCRIPT_NAME.sh
18
It is usually safer to add your custom path to the end of PATH instead of the beginning. This avoids accidentally replacing system commands with your programs (or someone else's malicious programs). This also avoids a lot of confusion when someone else works on your system (or gives you advice) and they get unexpected results from commands you have "replaced".
– Joe
Feb 7 '13 at 16:37
add a comment |
For complete newbies (like I am) who are more comfortable with GUI:
- Open your
$HOMEfolder. - Go to View → Show Hidden Files or press Ctrl + H.
- Right click on
.profileand click on Open With Text Editor. - Scroll to the bottom and add
PATH="$PATH:/my/path/foo". - Save.
- Log out and log back in to apply changes (let Ubuntu actually load
.profile).
4
Editing the .profile file is not recommended anymore.You can still use this method to edit the file .pam_environment see: help.ubuntu.com/community/EnvironmentVariables
– PulsarBlow
May 19 '13 at 4:20
Thank @PulsarBlow! I'm not really sure what's exactly the difference and the benefit though... This is the direct URL to the relevant section: help.ubuntu.com/community/…
– dain
May 20 '13 at 12:22
1
This answer caused my system to stop logging in due to all paths being overridden. Using Ubuntu 16.04.
– Frisbetarian
Mar 2 '17 at 11:27
1
@Frisbetarian you have to make sure to add the$PATH:bit which includes the existing PATH definition
– dain
Mar 10 '17 at 5:07
@dain : your comment saved my life!
– Py-ser
Dec 27 '17 at 19:10
add a comment |
For persistent environment variables available to particular users only. I highly recommend Ubuntu official documentation.
https://help.ubuntu.com/community/EnvironmentVariables
Referring to documentation above, I have setup my Android SDK path-tools by:
- creating
~/.pam_environmentfile in home directory. - the content of which is
PATH DEFAULT=${PATH}:~/android-sdk-linux/tools. - additional custom user path can be added by separating paths with colon (:).
- this requires re-login, which means you need to log-out and log-in back to desktop environment.
1
This is the best answer.
– Paulo Coghi
Aug 22 '15 at 13:02
add a comment |
Put that line in your ~/.bashrc file.
It gets sourced whenever you open a terminal
EDIT: Based on the comments below, for a more general setting that will apply to all shells (including when you hit Alt-F2 in Unity), add the line to your ~/.profile file. Probably shouldn't do both however, as the path will be added twice to your PATH environment if you open a terminal.
1
Actually, I thought you set the path in either$HOME/.profilefor personal settings, or/etc/profilefor all users. But if it's only needed for bash, I suppose either will work.
– Marty Fried
Jul 31 '12 at 1:37
1
If you set it in~/.bashrc, it'll only be available in the terminals you open. E.g. if you hit Alt+F2 and try to run a command from that dir, it won't find it. If you set it in~/.profileor~/.pam_environment, the gnome session (or whichever DE you use) will inherit it. Appending PATH in~/.bashrcalso has the drawback that if you open/exec bash interactively from another interactive bash shell, it'll be appended multiple times.
– geirha
Jul 31 '12 at 4:58
2
I haven't really looked into this for a while, so I did a search, and it seems that there are at least 95 different ways to set the path, most of which are discussed here. I never figured out which one is best. I think~/.profileis correct for personal paths, though; that's where Ubuntu adds the~/bindirectory. And I confess that I exaggerated a slight bit on the number of ways - just a little.
– Marty Fried
Jul 31 '12 at 5:02
1
@MartyFried, yes, to quote the bot in #bash on freenode: «The overwhelming majority of bash scripts, code, tutorials, and guides on the Internet are crap. Sturgeon was an optimist.» Using google for bash problem, you'll often find a lot of half-working solutions before you find a good one. Oh and I'd go with~/.profilein this case too.
– geirha
Jul 31 '12 at 5:14
1
@geirha - I agree that most guides on the internet in general are probably crap, especially anything linux since different distros, or even different versions of the same one, do things differently. It usually boils down to what works, but most people don't realize that what works is simply what works, not necessarily what's right or even what will always work. I try to figure out which of the many ways is actually correct, because I hate doing things more than once - but it's not always easy. :)
– Marty Fried
Jul 31 '12 at 18:50
|
show 1 more comment
To set it system wide, append the line export PATH=/path/you're/adding:$PATH to the end of /etc/profile.
To add the directory for only the logged-in user, append the same line to ~/.bash_profile.
add a comment |
Adding it to .bashrc will work but I think the more traditional way of setting up your path variables is in .bash_profile by adding the following lines.
PATH=$PATH:/my/path/foo
export PATH
According to this thread it appears as though Ubuntu's behavior is slightly different than RedHat and clones.
1
I don't have a .bash_profile, Should I create it?
– justingrif
Jul 22 '09 at 21:39
7
If you have.bashrc, stick it in.bashrcinstead. GUI terminals in Ubuntu are not login shells, so.bash_profilewill not be run.
– koenigdmj
Jul 22 '09 at 21:58
1
I am not running a gui shell. But from the thread above it looks like the .bashrc will work just fine.
– justingrif
Jul 22 '09 at 22:05
2
Both will work if your shell is a login shell. But I just tried the .bash_profile approach on one of my Ubuntu machines and even after restarting my gnome session it didn't source my .bash_profile. So I would say that putting this in .bashrc is probably the way to go with Ubuntu.
– 3dinfluence
Jul 23 '09 at 2:30
3
@justingrif No, you don't need.bash_profile. If bash doesn't find a.bash_profile(when you log in interactively), it will look for.profileand use that instead. By default, you'll have a.profileand.bashrcin Ubuntu. And.profileis the correct place to set environment variables if we disregard pam_env.
– geirha
Mar 2 '12 at 12:19
add a comment |
In terminal, cd to the_directory_you_want_to_add_in_the_path
echo "export PATH=$(pwd):${PATH}" >> ~/.bashrc
This wasn't my idea. I found this way to export path at this blog here.
add a comment |
sudo vi /etc/profile.d/SCRIPT_NAME.sh
add there
export PATH=YOUR_PATH_WITHOUT_TRAILING_SLASH:$PATH
2
sudo nano /etc/profile.d/SCRIPT_NAME.shis easier for beginners.
– isomorphismes
Sep 10 '11 at 1:22
1
For beginners,gksu gedit /etc/profile.d/SCRIPT_NAME.shis even easier.
– fouric
Mar 26 '13 at 0:04
add a comment |
Whenever I "install" my folder of BASH scripts, I follow the pattern of the test for a $HOME/bin folder that's in most .profile files in recent versions of Ubuntu. I set a test that looks like
if [ -d "/usr/scripts" ]; then
PATH="/usr/scripts:$PATH"
fi
It works just about 100% of the time, and leaves me free to change it in a GUI text editor with a quick "Replace all" should I ever decide to move /scripts somewhere closer to my $HOME folder. I haven't done so in 6 Ubuntu installs, but there's "always tomorrow." S
BZT
add a comment |
Open your terminal, type gedit .profile and insert the following:
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
PATH="$PATH:$HOME/bin"
fi
#the following line add Bin where you dont have a Bin folder on your $HOME
PATH="$PATH:/home/mongo/Documents/mongodb-linux-i686-2.2.2/bin"
Close and open terminal, it should be working.
add a comment |
The recommended way to edit your PATH is from /etc/environment file
Example output of /etc/environment:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
For example, to add the new path of /home/username/mydir
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/username/mydir"
Then, reboot your PC.
System-wide environment variables
A suitable file for environment variable settings that affect the system as a whole (rather than just a particular user) is /etc/environment. An alternative is to create a file for the purpose in the /etc/profile.d directory.
/etc/environment
This file is specifically meant for system-wide environment variable settings. It is not a script file, but rather consists of assignment expressions, one per line.
Note: Variable expansion does not work in /etc/environment.
More info can be found here: EnvironmentVariables
1
The lowest answer yet the most correct. This file is usually auto-populated bin Ubuntu with the path.
– NotoriousPyro
Oct 12 '17 at 13:33
add a comment |
Put it to your ~/.bashrc or whatevershell you use rc (or to beforementioned ~/.profile) AND ~/.xsessionrc so it will also work in X (outside shell).
add a comment |
Even if system scripts do not use this,
in any of the cases that one wants to add a path (e.g., $HOME/bin) to the PATH environment variable, one should use
PATH="${PATH:+${PATH}:}$HOME/bin"
for appending (instead of PATH="$PATH:$HOME/bin"),
and
PATH="$HOME/bin${PATH:+:${PATH}}"
for prepending (instead of PATH="$HOME/bin:$PATH").
This avoids the spurious leading/trailing colon when $PATH is initially empty, which can have undesired effects.
See e.g. https://unix.stackexchange.com/questions/162891/append-to-path-like-variable-without-creating-leading-colon-if-unset
add a comment |
For Ubuntu edit the ~/.bashrc and add the following line.
. ~/.bash_profile
Then edit your .bash_profile as you need.....
1
Downvoted because you didn't explain how to "edit your.bash_profileas you need". What exactly do I need to do to the.bash_profile?
– isomorphismes
Sep 10 '11 at 1:17
4
This is the wrong way..profileor.bash_profileshould source.bashrc. Not the other way around.
– geirha
Mar 2 '12 at 12:15
add a comment |
protected by heemayl Aug 21 '15 at 22:00
Thank you for your interest in this question.
Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).
Would you like to answer one of these unanswered questions instead?
17 Answers
17
active
oldest
votes
17 Answers
17
active
oldest
votes
active
oldest
votes
active
oldest
votes
Using ~/.profile to set $PATH
A path set in .bash_profile will only be set in a bash login shell (bash -l).
If you put your path in .profile it will be available to your complete desktop session. That means even metacity will use it.
For example ~/.profile:
if [ -d "$HOME/bin" ] ; then
PATH="$PATH:$HOME/bin"
fi
Btw, you can check the PATH variable of a process by looking at its environment in /proc/[pid]/environ (replace [pid] with the number from ps axf). E.g. use grep -z "^PATH" /proc/[pid]/environ
Note:
bash as a login shell doesn't parse .profile if either .bash_profile or .bash_login exists. From man bash :
it looks for ~/.bash_profile, ~/.bash_login, and ~/.profile, in that
order, and reads and executes commands from the first one that exists
and is readable.
See the answers below for information about .pam_environment, or .bashrc for interactive non-login shells, or set the value globally for all users by putting a script into /etc/profile.d/ or use /etc/X11/Xsession.d/ to affect the display managers session.
4
Cool, that worked. I saw where it will auto add the bin dir if I make it so I just used that instead of scripts. TY.
– justingrif
Jul 22 '09 at 22:13
3
On Xbunutu .profile isn't be executed so I put it in .bashrc and it works.
– tekumara
Aug 25 '12 at 22:21
11
This piece of documentation is very well done: Official documentation about environment variable. Consider reading it (not to say that is updated to the last version of the rules to add values to environment variable).
– Michele
May 23 '13 at 13:38
2
Where in .profile do we add the path ??
– Vineet Kaushik
Oct 2 '15 at 2:40
2
I've still got no idea where to add my extra path part to. I need to add the android SDK to my path...PATH="$HOME/bin:$PATH"So I add it to it?
– Jamie Hutber
Apr 25 '16 at 14:37
|
show 5 more comments
Using ~/.profile to set $PATH
A path set in .bash_profile will only be set in a bash login shell (bash -l).
If you put your path in .profile it will be available to your complete desktop session. That means even metacity will use it.
For example ~/.profile:
if [ -d "$HOME/bin" ] ; then
PATH="$PATH:$HOME/bin"
fi
Btw, you can check the PATH variable of a process by looking at its environment in /proc/[pid]/environ (replace [pid] with the number from ps axf). E.g. use grep -z "^PATH" /proc/[pid]/environ
Note:
bash as a login shell doesn't parse .profile if either .bash_profile or .bash_login exists. From man bash :
it looks for ~/.bash_profile, ~/.bash_login, and ~/.profile, in that
order, and reads and executes commands from the first one that exists
and is readable.
See the answers below for information about .pam_environment, or .bashrc for interactive non-login shells, or set the value globally for all users by putting a script into /etc/profile.d/ or use /etc/X11/Xsession.d/ to affect the display managers session.
4
Cool, that worked. I saw where it will auto add the bin dir if I make it so I just used that instead of scripts. TY.
– justingrif
Jul 22 '09 at 22:13
3
On Xbunutu .profile isn't be executed so I put it in .bashrc and it works.
– tekumara
Aug 25 '12 at 22:21
11
This piece of documentation is very well done: Official documentation about environment variable. Consider reading it (not to say that is updated to the last version of the rules to add values to environment variable).
– Michele
May 23 '13 at 13:38
2
Where in .profile do we add the path ??
– Vineet Kaushik
Oct 2 '15 at 2:40
2
I've still got no idea where to add my extra path part to. I need to add the android SDK to my path...PATH="$HOME/bin:$PATH"So I add it to it?
– Jamie Hutber
Apr 25 '16 at 14:37
|
show 5 more comments
Using ~/.profile to set $PATH
A path set in .bash_profile will only be set in a bash login shell (bash -l).
If you put your path in .profile it will be available to your complete desktop session. That means even metacity will use it.
For example ~/.profile:
if [ -d "$HOME/bin" ] ; then
PATH="$PATH:$HOME/bin"
fi
Btw, you can check the PATH variable of a process by looking at its environment in /proc/[pid]/environ (replace [pid] with the number from ps axf). E.g. use grep -z "^PATH" /proc/[pid]/environ
Note:
bash as a login shell doesn't parse .profile if either .bash_profile or .bash_login exists. From man bash :
it looks for ~/.bash_profile, ~/.bash_login, and ~/.profile, in that
order, and reads and executes commands from the first one that exists
and is readable.
See the answers below for information about .pam_environment, or .bashrc for interactive non-login shells, or set the value globally for all users by putting a script into /etc/profile.d/ or use /etc/X11/Xsession.d/ to affect the display managers session.
Using ~/.profile to set $PATH
A path set in .bash_profile will only be set in a bash login shell (bash -l).
If you put your path in .profile it will be available to your complete desktop session. That means even metacity will use it.
For example ~/.profile:
if [ -d "$HOME/bin" ] ; then
PATH="$PATH:$HOME/bin"
fi
Btw, you can check the PATH variable of a process by looking at its environment in /proc/[pid]/environ (replace [pid] with the number from ps axf). E.g. use grep -z "^PATH" /proc/[pid]/environ
Note:
bash as a login shell doesn't parse .profile if either .bash_profile or .bash_login exists. From man bash :
it looks for ~/.bash_profile, ~/.bash_login, and ~/.profile, in that
order, and reads and executes commands from the first one that exists
and is readable.
See the answers below for information about .pam_environment, or .bashrc for interactive non-login shells, or set the value globally for all users by putting a script into /etc/profile.d/ or use /etc/X11/Xsession.d/ to affect the display managers session.
edited Apr 1 '18 at 1:11
wjandrea
8,47742259
8,47742259
answered Jul 22 '09 at 22:04
ko-dosko-dos
4,290183
4,290183
4
Cool, that worked. I saw where it will auto add the bin dir if I make it so I just used that instead of scripts. TY.
– justingrif
Jul 22 '09 at 22:13
3
On Xbunutu .profile isn't be executed so I put it in .bashrc and it works.
– tekumara
Aug 25 '12 at 22:21
11
This piece of documentation is very well done: Official documentation about environment variable. Consider reading it (not to say that is updated to the last version of the rules to add values to environment variable).
– Michele
May 23 '13 at 13:38
2
Where in .profile do we add the path ??
– Vineet Kaushik
Oct 2 '15 at 2:40
2
I've still got no idea where to add my extra path part to. I need to add the android SDK to my path...PATH="$HOME/bin:$PATH"So I add it to it?
– Jamie Hutber
Apr 25 '16 at 14:37
|
show 5 more comments
4
Cool, that worked. I saw where it will auto add the bin dir if I make it so I just used that instead of scripts. TY.
– justingrif
Jul 22 '09 at 22:13
3
On Xbunutu .profile isn't be executed so I put it in .bashrc and it works.
– tekumara
Aug 25 '12 at 22:21
11
This piece of documentation is very well done: Official documentation about environment variable. Consider reading it (not to say that is updated to the last version of the rules to add values to environment variable).
– Michele
May 23 '13 at 13:38
2
Where in .profile do we add the path ??
– Vineet Kaushik
Oct 2 '15 at 2:40
2
I've still got no idea where to add my extra path part to. I need to add the android SDK to my path...PATH="$HOME/bin:$PATH"So I add it to it?
– Jamie Hutber
Apr 25 '16 at 14:37
4
4
Cool, that worked. I saw where it will auto add the bin dir if I make it so I just used that instead of scripts. TY.
– justingrif
Jul 22 '09 at 22:13
Cool, that worked. I saw where it will auto add the bin dir if I make it so I just used that instead of scripts. TY.
– justingrif
Jul 22 '09 at 22:13
3
3
On Xbunutu .profile isn't be executed so I put it in .bashrc and it works.
– tekumara
Aug 25 '12 at 22:21
On Xbunutu .profile isn't be executed so I put it in .bashrc and it works.
– tekumara
Aug 25 '12 at 22:21
11
11
This piece of documentation is very well done: Official documentation about environment variable. Consider reading it (not to say that is updated to the last version of the rules to add values to environment variable).
– Michele
May 23 '13 at 13:38
This piece of documentation is very well done: Official documentation about environment variable. Consider reading it (not to say that is updated to the last version of the rules to add values to environment variable).
– Michele
May 23 '13 at 13:38
2
2
Where in .profile do we add the path ??
– Vineet Kaushik
Oct 2 '15 at 2:40
Where in .profile do we add the path ??
– Vineet Kaushik
Oct 2 '15 at 2:40
2
2
I've still got no idea where to add my extra path part to. I need to add the android SDK to my path...
PATH="$HOME/bin:$PATH" So I add it to it?– Jamie Hutber
Apr 25 '16 at 14:37
I've still got no idea where to add my extra path part to. I need to add the android SDK to my path...
PATH="$HOME/bin:$PATH" So I add it to it?– Jamie Hutber
Apr 25 '16 at 14:37
|
show 5 more comments
Edit .bashrc in your home directory and add the following line:
export PATH="/path/to/dir:$PATH"
You will need to source your .bashrc or logout/login (or restart the terminal) for the changes to take effect. To source your .bashrc, simply type
$ source ~/.bashrc
2
How do you "source your.bashrc"? How do you "restart the terminal"?
– isomorphismes
Sep 10 '11 at 1:16
3
In bash it is simply '. .bashrc'
– Ophidian
Sep 12 '11 at 2:54
1
I was making the assumption that you were in your home directory. since that's where the .bashrc you want to edit is.
– Ophidian
Feb 16 '12 at 14:23
17
.bashrcis not the right place for setting environment variables. They should go in.profileor.pam_environment. See mywiki.wooledge.org/DotFiles
– geirha
Mar 2 '12 at 12:21
4
@LaoTzu. .bashrcnot.bashrc:) orsource .bashrcfor that matter
– Znarkus
Aug 21 '12 at 8:26
|
show 3 more comments
Edit .bashrc in your home directory and add the following line:
export PATH="/path/to/dir:$PATH"
You will need to source your .bashrc or logout/login (or restart the terminal) for the changes to take effect. To source your .bashrc, simply type
$ source ~/.bashrc
2
How do you "source your.bashrc"? How do you "restart the terminal"?
– isomorphismes
Sep 10 '11 at 1:16
3
In bash it is simply '. .bashrc'
– Ophidian
Sep 12 '11 at 2:54
1
I was making the assumption that you were in your home directory. since that's where the .bashrc you want to edit is.
– Ophidian
Feb 16 '12 at 14:23
17
.bashrcis not the right place for setting environment variables. They should go in.profileor.pam_environment. See mywiki.wooledge.org/DotFiles
– geirha
Mar 2 '12 at 12:21
4
@LaoTzu. .bashrcnot.bashrc:) orsource .bashrcfor that matter
– Znarkus
Aug 21 '12 at 8:26
|
show 3 more comments
Edit .bashrc in your home directory and add the following line:
export PATH="/path/to/dir:$PATH"
You will need to source your .bashrc or logout/login (or restart the terminal) for the changes to take effect. To source your .bashrc, simply type
$ source ~/.bashrc
Edit .bashrc in your home directory and add the following line:
export PATH="/path/to/dir:$PATH"
You will need to source your .bashrc or logout/login (or restart the terminal) for the changes to take effect. To source your .bashrc, simply type
$ source ~/.bashrc
edited Jul 1 '17 at 19:45
wjandrea
8,47742259
8,47742259
answered Jul 22 '09 at 20:45
OphidianOphidian
2,805182
2,805182
2
How do you "source your.bashrc"? How do you "restart the terminal"?
– isomorphismes
Sep 10 '11 at 1:16
3
In bash it is simply '. .bashrc'
– Ophidian
Sep 12 '11 at 2:54
1
I was making the assumption that you were in your home directory. since that's where the .bashrc you want to edit is.
– Ophidian
Feb 16 '12 at 14:23
17
.bashrcis not the right place for setting environment variables. They should go in.profileor.pam_environment. See mywiki.wooledge.org/DotFiles
– geirha
Mar 2 '12 at 12:21
4
@LaoTzu. .bashrcnot.bashrc:) orsource .bashrcfor that matter
– Znarkus
Aug 21 '12 at 8:26
|
show 3 more comments
2
How do you "source your.bashrc"? How do you "restart the terminal"?
– isomorphismes
Sep 10 '11 at 1:16
3
In bash it is simply '. .bashrc'
– Ophidian
Sep 12 '11 at 2:54
1
I was making the assumption that you were in your home directory. since that's where the .bashrc you want to edit is.
– Ophidian
Feb 16 '12 at 14:23
17
.bashrcis not the right place for setting environment variables. They should go in.profileor.pam_environment. See mywiki.wooledge.org/DotFiles
– geirha
Mar 2 '12 at 12:21
4
@LaoTzu. .bashrcnot.bashrc:) orsource .bashrcfor that matter
– Znarkus
Aug 21 '12 at 8:26
2
2
How do you "source your
.bashrc"? How do you "restart the terminal"?– isomorphismes
Sep 10 '11 at 1:16
How do you "source your
.bashrc"? How do you "restart the terminal"?– isomorphismes
Sep 10 '11 at 1:16
3
3
In bash it is simply '. .bashrc'
– Ophidian
Sep 12 '11 at 2:54
In bash it is simply '. .bashrc'
– Ophidian
Sep 12 '11 at 2:54
1
1
I was making the assumption that you were in your home directory. since that's where the .bashrc you want to edit is.
– Ophidian
Feb 16 '12 at 14:23
I was making the assumption that you were in your home directory. since that's where the .bashrc you want to edit is.
– Ophidian
Feb 16 '12 at 14:23
17
17
.bashrc is not the right place for setting environment variables. They should go in .profile or .pam_environment. See mywiki.wooledge.org/DotFiles– geirha
Mar 2 '12 at 12:21
.bashrc is not the right place for setting environment variables. They should go in .profile or .pam_environment. See mywiki.wooledge.org/DotFiles– geirha
Mar 2 '12 at 12:21
4
4
@LaoTzu
. .bashrc not .bashrc :) or source .bashrc for that matter– Znarkus
Aug 21 '12 at 8:26
@LaoTzu
. .bashrc not .bashrc :) or source .bashrc for that matter– Znarkus
Aug 21 '12 at 8:26
|
show 3 more comments
The recommended place to define permanent, system-wide environment variables applying to all users is in:
/etc/environment
(which is where the default PATH is defined)
This will work in desktop or console, gnome-terminal or TTY, rain or shine ;)
To edit, press Alt+F2 and type:
gksudo gedit /etc/environment
(or open the file using
sudoin your favorite text editor)
To effect changes, run . /etc/environment. Since this file is just a simple script it will run and assign the new path to the PATH environment variable. To check run env and see the PATH value in the listing.
Related:
- https://help.ubuntu.com/community/EnvironmentVariables
5
and then you need to reboot for changes to take effect...
– Lee
Nov 17 '13 at 9:27
2
This is exactly what I needed. Provisioning a throw-away vm image via vagrant and needed to add node and npm to the path.
– Austin Pray
Jun 30 '14 at 3:07
7
To take changes in effect run . /etc/environement (yes, dot, a space and /etc/environment). Since this file is just a simple script it will run and assign the new path to the PATH environment variable. To check run env and see the PATH value in the listing.
– WindRider
May 20 '15 at 13:27
1
I needed to runsource /etc/environmentto reload the changes
– JohnnyAW
May 16 '18 at 8:54
add a comment |
The recommended place to define permanent, system-wide environment variables applying to all users is in:
/etc/environment
(which is where the default PATH is defined)
This will work in desktop or console, gnome-terminal or TTY, rain or shine ;)
To edit, press Alt+F2 and type:
gksudo gedit /etc/environment
(or open the file using
sudoin your favorite text editor)
To effect changes, run . /etc/environment. Since this file is just a simple script it will run and assign the new path to the PATH environment variable. To check run env and see the PATH value in the listing.
Related:
- https://help.ubuntu.com/community/EnvironmentVariables
5
and then you need to reboot for changes to take effect...
– Lee
Nov 17 '13 at 9:27
2
This is exactly what I needed. Provisioning a throw-away vm image via vagrant and needed to add node and npm to the path.
– Austin Pray
Jun 30 '14 at 3:07
7
To take changes in effect run . /etc/environement (yes, dot, a space and /etc/environment). Since this file is just a simple script it will run and assign the new path to the PATH environment variable. To check run env and see the PATH value in the listing.
– WindRider
May 20 '15 at 13:27
1
I needed to runsource /etc/environmentto reload the changes
– JohnnyAW
May 16 '18 at 8:54
add a comment |
The recommended place to define permanent, system-wide environment variables applying to all users is in:
/etc/environment
(which is where the default PATH is defined)
This will work in desktop or console, gnome-terminal or TTY, rain or shine ;)
To edit, press Alt+F2 and type:
gksudo gedit /etc/environment
(or open the file using
sudoin your favorite text editor)
To effect changes, run . /etc/environment. Since this file is just a simple script it will run and assign the new path to the PATH environment variable. To check run env and see the PATH value in the listing.
Related:
- https://help.ubuntu.com/community/EnvironmentVariables
The recommended place to define permanent, system-wide environment variables applying to all users is in:
/etc/environment
(which is where the default PATH is defined)
This will work in desktop or console, gnome-terminal or TTY, rain or shine ;)
To edit, press Alt+F2 and type:
gksudo gedit /etc/environment
(or open the file using
sudoin your favorite text editor)
To effect changes, run . /etc/environment. Since this file is just a simple script it will run and assign the new path to the PATH environment variable. To check run env and see the PATH value in the listing.
Related:
- https://help.ubuntu.com/community/EnvironmentVariables
edited Jun 2 '16 at 7:40
muru
1
1
answered Jul 31 '12 at 3:49
ishish
115k29265293
115k29265293
5
and then you need to reboot for changes to take effect...
– Lee
Nov 17 '13 at 9:27
2
This is exactly what I needed. Provisioning a throw-away vm image via vagrant and needed to add node and npm to the path.
– Austin Pray
Jun 30 '14 at 3:07
7
To take changes in effect run . /etc/environement (yes, dot, a space and /etc/environment). Since this file is just a simple script it will run and assign the new path to the PATH environment variable. To check run env and see the PATH value in the listing.
– WindRider
May 20 '15 at 13:27
1
I needed to runsource /etc/environmentto reload the changes
– JohnnyAW
May 16 '18 at 8:54
add a comment |
5
and then you need to reboot for changes to take effect...
– Lee
Nov 17 '13 at 9:27
2
This is exactly what I needed. Provisioning a throw-away vm image via vagrant and needed to add node and npm to the path.
– Austin Pray
Jun 30 '14 at 3:07
7
To take changes in effect run . /etc/environement (yes, dot, a space and /etc/environment). Since this file is just a simple script it will run and assign the new path to the PATH environment variable. To check run env and see the PATH value in the listing.
– WindRider
May 20 '15 at 13:27
1
I needed to runsource /etc/environmentto reload the changes
– JohnnyAW
May 16 '18 at 8:54
5
5
and then you need to reboot for changes to take effect...
– Lee
Nov 17 '13 at 9:27
and then you need to reboot for changes to take effect...
– Lee
Nov 17 '13 at 9:27
2
2
This is exactly what I needed. Provisioning a throw-away vm image via vagrant and needed to add node and npm to the path.
– Austin Pray
Jun 30 '14 at 3:07
This is exactly what I needed. Provisioning a throw-away vm image via vagrant and needed to add node and npm to the path.
– Austin Pray
Jun 30 '14 at 3:07
7
7
To take changes in effect run . /etc/environement (yes, dot, a space and /etc/environment). Since this file is just a simple script it will run and assign the new path to the PATH environment variable. To check run env and see the PATH value in the listing.
– WindRider
May 20 '15 at 13:27
To take changes in effect run . /etc/environement (yes, dot, a space and /etc/environment). Since this file is just a simple script it will run and assign the new path to the PATH environment variable. To check run env and see the PATH value in the listing.
– WindRider
May 20 '15 at 13:27
1
1
I needed to run
source /etc/environment to reload the changes– JohnnyAW
May 16 '18 at 8:54
I needed to run
source /etc/environment to reload the changes– JohnnyAW
May 16 '18 at 8:54
add a comment |
I think the canonical way in Ubuntu is:
create a new file under
/etc/profile.d/
sudo vi /etc/profile.d/SCRIPT_NAME.sh
add there:
export PATH="YOUR_PATH_WITHOUT_TRAILING_SLASH:$PATH"
and give it execute permission
sudo chmod a+x /etc/profile.d/SCRIPT_NAME.sh
18
It is usually safer to add your custom path to the end of PATH instead of the beginning. This avoids accidentally replacing system commands with your programs (or someone else's malicious programs). This also avoids a lot of confusion when someone else works on your system (or gives you advice) and they get unexpected results from commands you have "replaced".
– Joe
Feb 7 '13 at 16:37
add a comment |
I think the canonical way in Ubuntu is:
create a new file under
/etc/profile.d/
sudo vi /etc/profile.d/SCRIPT_NAME.sh
add there:
export PATH="YOUR_PATH_WITHOUT_TRAILING_SLASH:$PATH"
and give it execute permission
sudo chmod a+x /etc/profile.d/SCRIPT_NAME.sh
18
It is usually safer to add your custom path to the end of PATH instead of the beginning. This avoids accidentally replacing system commands with your programs (or someone else's malicious programs). This also avoids a lot of confusion when someone else works on your system (or gives you advice) and they get unexpected results from commands you have "replaced".
– Joe
Feb 7 '13 at 16:37
add a comment |
I think the canonical way in Ubuntu is:
create a new file under
/etc/profile.d/
sudo vi /etc/profile.d/SCRIPT_NAME.sh
add there:
export PATH="YOUR_PATH_WITHOUT_TRAILING_SLASH:$PATH"
and give it execute permission
sudo chmod a+x /etc/profile.d/SCRIPT_NAME.sh
I think the canonical way in Ubuntu is:
create a new file under
/etc/profile.d/
sudo vi /etc/profile.d/SCRIPT_NAME.sh
add there:
export PATH="YOUR_PATH_WITHOUT_TRAILING_SLASH:$PATH"
and give it execute permission
sudo chmod a+x /etc/profile.d/SCRIPT_NAME.sh
edited Aug 28 '16 at 10:05
Zanna
50.3k13133241
50.3k13133241
answered Jan 9 '10 at 1:31
wotowoto
66954
66954
18
It is usually safer to add your custom path to the end of PATH instead of the beginning. This avoids accidentally replacing system commands with your programs (or someone else's malicious programs). This also avoids a lot of confusion when someone else works on your system (or gives you advice) and they get unexpected results from commands you have "replaced".
– Joe
Feb 7 '13 at 16:37
add a comment |
18
It is usually safer to add your custom path to the end of PATH instead of the beginning. This avoids accidentally replacing system commands with your programs (or someone else's malicious programs). This also avoids a lot of confusion when someone else works on your system (or gives you advice) and they get unexpected results from commands you have "replaced".
– Joe
Feb 7 '13 at 16:37
18
18
It is usually safer to add your custom path to the end of PATH instead of the beginning. This avoids accidentally replacing system commands with your programs (or someone else's malicious programs). This also avoids a lot of confusion when someone else works on your system (or gives you advice) and they get unexpected results from commands you have "replaced".
– Joe
Feb 7 '13 at 16:37
It is usually safer to add your custom path to the end of PATH instead of the beginning. This avoids accidentally replacing system commands with your programs (or someone else's malicious programs). This also avoids a lot of confusion when someone else works on your system (or gives you advice) and they get unexpected results from commands you have "replaced".
– Joe
Feb 7 '13 at 16:37
add a comment |
For complete newbies (like I am) who are more comfortable with GUI:
- Open your
$HOMEfolder. - Go to View → Show Hidden Files or press Ctrl + H.
- Right click on
.profileand click on Open With Text Editor. - Scroll to the bottom and add
PATH="$PATH:/my/path/foo". - Save.
- Log out and log back in to apply changes (let Ubuntu actually load
.profile).
4
Editing the .profile file is not recommended anymore.You can still use this method to edit the file .pam_environment see: help.ubuntu.com/community/EnvironmentVariables
– PulsarBlow
May 19 '13 at 4:20
Thank @PulsarBlow! I'm not really sure what's exactly the difference and the benefit though... This is the direct URL to the relevant section: help.ubuntu.com/community/…
– dain
May 20 '13 at 12:22
1
This answer caused my system to stop logging in due to all paths being overridden. Using Ubuntu 16.04.
– Frisbetarian
Mar 2 '17 at 11:27
1
@Frisbetarian you have to make sure to add the$PATH:bit which includes the existing PATH definition
– dain
Mar 10 '17 at 5:07
@dain : your comment saved my life!
– Py-ser
Dec 27 '17 at 19:10
add a comment |
For complete newbies (like I am) who are more comfortable with GUI:
- Open your
$HOMEfolder. - Go to View → Show Hidden Files or press Ctrl + H.
- Right click on
.profileand click on Open With Text Editor. - Scroll to the bottom and add
PATH="$PATH:/my/path/foo". - Save.
- Log out and log back in to apply changes (let Ubuntu actually load
.profile).
4
Editing the .profile file is not recommended anymore.You can still use this method to edit the file .pam_environment see: help.ubuntu.com/community/EnvironmentVariables
– PulsarBlow
May 19 '13 at 4:20
Thank @PulsarBlow! I'm not really sure what's exactly the difference and the benefit though... This is the direct URL to the relevant section: help.ubuntu.com/community/…
– dain
May 20 '13 at 12:22
1
This answer caused my system to stop logging in due to all paths being overridden. Using Ubuntu 16.04.
– Frisbetarian
Mar 2 '17 at 11:27
1
@Frisbetarian you have to make sure to add the$PATH:bit which includes the existing PATH definition
– dain
Mar 10 '17 at 5:07
@dain : your comment saved my life!
– Py-ser
Dec 27 '17 at 19:10
add a comment |
For complete newbies (like I am) who are more comfortable with GUI:
- Open your
$HOMEfolder. - Go to View → Show Hidden Files or press Ctrl + H.
- Right click on
.profileand click on Open With Text Editor. - Scroll to the bottom and add
PATH="$PATH:/my/path/foo". - Save.
- Log out and log back in to apply changes (let Ubuntu actually load
.profile).
For complete newbies (like I am) who are more comfortable with GUI:
- Open your
$HOMEfolder. - Go to View → Show Hidden Files or press Ctrl + H.
- Right click on
.profileand click on Open With Text Editor. - Scroll to the bottom and add
PATH="$PATH:/my/path/foo". - Save.
- Log out and log back in to apply changes (let Ubuntu actually load
.profile).
edited Dec 26 '13 at 12:57
Aditya
9,248125589
9,248125589
answered Oct 24 '11 at 22:05
daindain
56745
56745
4
Editing the .profile file is not recommended anymore.You can still use this method to edit the file .pam_environment see: help.ubuntu.com/community/EnvironmentVariables
– PulsarBlow
May 19 '13 at 4:20
Thank @PulsarBlow! I'm not really sure what's exactly the difference and the benefit though... This is the direct URL to the relevant section: help.ubuntu.com/community/…
– dain
May 20 '13 at 12:22
1
This answer caused my system to stop logging in due to all paths being overridden. Using Ubuntu 16.04.
– Frisbetarian
Mar 2 '17 at 11:27
1
@Frisbetarian you have to make sure to add the$PATH:bit which includes the existing PATH definition
– dain
Mar 10 '17 at 5:07
@dain : your comment saved my life!
– Py-ser
Dec 27 '17 at 19:10
add a comment |
4
Editing the .profile file is not recommended anymore.You can still use this method to edit the file .pam_environment see: help.ubuntu.com/community/EnvironmentVariables
– PulsarBlow
May 19 '13 at 4:20
Thank @PulsarBlow! I'm not really sure what's exactly the difference and the benefit though... This is the direct URL to the relevant section: help.ubuntu.com/community/…
– dain
May 20 '13 at 12:22
1
This answer caused my system to stop logging in due to all paths being overridden. Using Ubuntu 16.04.
– Frisbetarian
Mar 2 '17 at 11:27
1
@Frisbetarian you have to make sure to add the$PATH:bit which includes the existing PATH definition
– dain
Mar 10 '17 at 5:07
@dain : your comment saved my life!
– Py-ser
Dec 27 '17 at 19:10
4
4
Editing the .profile file is not recommended anymore.You can still use this method to edit the file .pam_environment see: help.ubuntu.com/community/EnvironmentVariables
– PulsarBlow
May 19 '13 at 4:20
Editing the .profile file is not recommended anymore.You can still use this method to edit the file .pam_environment see: help.ubuntu.com/community/EnvironmentVariables
– PulsarBlow
May 19 '13 at 4:20
Thank @PulsarBlow! I'm not really sure what's exactly the difference and the benefit though... This is the direct URL to the relevant section: help.ubuntu.com/community/…
– dain
May 20 '13 at 12:22
Thank @PulsarBlow! I'm not really sure what's exactly the difference and the benefit though... This is the direct URL to the relevant section: help.ubuntu.com/community/…
– dain
May 20 '13 at 12:22
1
1
This answer caused my system to stop logging in due to all paths being overridden. Using Ubuntu 16.04.
– Frisbetarian
Mar 2 '17 at 11:27
This answer caused my system to stop logging in due to all paths being overridden. Using Ubuntu 16.04.
– Frisbetarian
Mar 2 '17 at 11:27
1
1
@Frisbetarian you have to make sure to add the
$PATH: bit which includes the existing PATH definition– dain
Mar 10 '17 at 5:07
@Frisbetarian you have to make sure to add the
$PATH: bit which includes the existing PATH definition– dain
Mar 10 '17 at 5:07
@dain : your comment saved my life!
– Py-ser
Dec 27 '17 at 19:10
@dain : your comment saved my life!
– Py-ser
Dec 27 '17 at 19:10
add a comment |
For persistent environment variables available to particular users only. I highly recommend Ubuntu official documentation.
https://help.ubuntu.com/community/EnvironmentVariables
Referring to documentation above, I have setup my Android SDK path-tools by:
- creating
~/.pam_environmentfile in home directory. - the content of which is
PATH DEFAULT=${PATH}:~/android-sdk-linux/tools. - additional custom user path can be added by separating paths with colon (:).
- this requires re-login, which means you need to log-out and log-in back to desktop environment.
1
This is the best answer.
– Paulo Coghi
Aug 22 '15 at 13:02
add a comment |
For persistent environment variables available to particular users only. I highly recommend Ubuntu official documentation.
https://help.ubuntu.com/community/EnvironmentVariables
Referring to documentation above, I have setup my Android SDK path-tools by:
- creating
~/.pam_environmentfile in home directory. - the content of which is
PATH DEFAULT=${PATH}:~/android-sdk-linux/tools. - additional custom user path can be added by separating paths with colon (:).
- this requires re-login, which means you need to log-out and log-in back to desktop environment.
1
This is the best answer.
– Paulo Coghi
Aug 22 '15 at 13:02
add a comment |
For persistent environment variables available to particular users only. I highly recommend Ubuntu official documentation.
https://help.ubuntu.com/community/EnvironmentVariables
Referring to documentation above, I have setup my Android SDK path-tools by:
- creating
~/.pam_environmentfile in home directory. - the content of which is
PATH DEFAULT=${PATH}:~/android-sdk-linux/tools. - additional custom user path can be added by separating paths with colon (:).
- this requires re-login, which means you need to log-out and log-in back to desktop environment.
For persistent environment variables available to particular users only. I highly recommend Ubuntu official documentation.
https://help.ubuntu.com/community/EnvironmentVariables
Referring to documentation above, I have setup my Android SDK path-tools by:
- creating
~/.pam_environmentfile in home directory. - the content of which is
PATH DEFAULT=${PATH}:~/android-sdk-linux/tools. - additional custom user path can be added by separating paths with colon (:).
- this requires re-login, which means you need to log-out and log-in back to desktop environment.
edited Dec 9 '12 at 1:00
answered Dec 8 '12 at 23:07
Eduardo B.Eduardo B.
58145
58145
1
This is the best answer.
– Paulo Coghi
Aug 22 '15 at 13:02
add a comment |
1
This is the best answer.
– Paulo Coghi
Aug 22 '15 at 13:02
1
1
This is the best answer.
– Paulo Coghi
Aug 22 '15 at 13:02
This is the best answer.
– Paulo Coghi
Aug 22 '15 at 13:02
add a comment |
Put that line in your ~/.bashrc file.
It gets sourced whenever you open a terminal
EDIT: Based on the comments below, for a more general setting that will apply to all shells (including when you hit Alt-F2 in Unity), add the line to your ~/.profile file. Probably shouldn't do both however, as the path will be added twice to your PATH environment if you open a terminal.
1
Actually, I thought you set the path in either$HOME/.profilefor personal settings, or/etc/profilefor all users. But if it's only needed for bash, I suppose either will work.
– Marty Fried
Jul 31 '12 at 1:37
1
If you set it in~/.bashrc, it'll only be available in the terminals you open. E.g. if you hit Alt+F2 and try to run a command from that dir, it won't find it. If you set it in~/.profileor~/.pam_environment, the gnome session (or whichever DE you use) will inherit it. Appending PATH in~/.bashrcalso has the drawback that if you open/exec bash interactively from another interactive bash shell, it'll be appended multiple times.
– geirha
Jul 31 '12 at 4:58
2
I haven't really looked into this for a while, so I did a search, and it seems that there are at least 95 different ways to set the path, most of which are discussed here. I never figured out which one is best. I think~/.profileis correct for personal paths, though; that's where Ubuntu adds the~/bindirectory. And I confess that I exaggerated a slight bit on the number of ways - just a little.
– Marty Fried
Jul 31 '12 at 5:02
1
@MartyFried, yes, to quote the bot in #bash on freenode: «The overwhelming majority of bash scripts, code, tutorials, and guides on the Internet are crap. Sturgeon was an optimist.» Using google for bash problem, you'll often find a lot of half-working solutions before you find a good one. Oh and I'd go with~/.profilein this case too.
– geirha
Jul 31 '12 at 5:14
1
@geirha - I agree that most guides on the internet in general are probably crap, especially anything linux since different distros, or even different versions of the same one, do things differently. It usually boils down to what works, but most people don't realize that what works is simply what works, not necessarily what's right or even what will always work. I try to figure out which of the many ways is actually correct, because I hate doing things more than once - but it's not always easy. :)
– Marty Fried
Jul 31 '12 at 18:50
|
show 1 more comment
Put that line in your ~/.bashrc file.
It gets sourced whenever you open a terminal
EDIT: Based on the comments below, for a more general setting that will apply to all shells (including when you hit Alt-F2 in Unity), add the line to your ~/.profile file. Probably shouldn't do both however, as the path will be added twice to your PATH environment if you open a terminal.
1
Actually, I thought you set the path in either$HOME/.profilefor personal settings, or/etc/profilefor all users. But if it's only needed for bash, I suppose either will work.
– Marty Fried
Jul 31 '12 at 1:37
1
If you set it in~/.bashrc, it'll only be available in the terminals you open. E.g. if you hit Alt+F2 and try to run a command from that dir, it won't find it. If you set it in~/.profileor~/.pam_environment, the gnome session (or whichever DE you use) will inherit it. Appending PATH in~/.bashrcalso has the drawback that if you open/exec bash interactively from another interactive bash shell, it'll be appended multiple times.
– geirha
Jul 31 '12 at 4:58
2
I haven't really looked into this for a while, so I did a search, and it seems that there are at least 95 different ways to set the path, most of which are discussed here. I never figured out which one is best. I think~/.profileis correct for personal paths, though; that's where Ubuntu adds the~/bindirectory. And I confess that I exaggerated a slight bit on the number of ways - just a little.
– Marty Fried
Jul 31 '12 at 5:02
1
@MartyFried, yes, to quote the bot in #bash on freenode: «The overwhelming majority of bash scripts, code, tutorials, and guides on the Internet are crap. Sturgeon was an optimist.» Using google for bash problem, you'll often find a lot of half-working solutions before you find a good one. Oh and I'd go with~/.profilein this case too.
– geirha
Jul 31 '12 at 5:14
1
@geirha - I agree that most guides on the internet in general are probably crap, especially anything linux since different distros, or even different versions of the same one, do things differently. It usually boils down to what works, but most people don't realize that what works is simply what works, not necessarily what's right or even what will always work. I try to figure out which of the many ways is actually correct, because I hate doing things more than once - but it's not always easy. :)
– Marty Fried
Jul 31 '12 at 18:50
|
show 1 more comment
Put that line in your ~/.bashrc file.
It gets sourced whenever you open a terminal
EDIT: Based on the comments below, for a more general setting that will apply to all shells (including when you hit Alt-F2 in Unity), add the line to your ~/.profile file. Probably shouldn't do both however, as the path will be added twice to your PATH environment if you open a terminal.
Put that line in your ~/.bashrc file.
It gets sourced whenever you open a terminal
EDIT: Based on the comments below, for a more general setting that will apply to all shells (including when you hit Alt-F2 in Unity), add the line to your ~/.profile file. Probably shouldn't do both however, as the path will be added twice to your PATH environment if you open a terminal.
edited Jun 5 '16 at 11:51
Severus Tux
5,69143782
5,69143782
answered Jul 31 '12 at 1:08
Ian B.Ian B.
3,1381425
3,1381425
1
Actually, I thought you set the path in either$HOME/.profilefor personal settings, or/etc/profilefor all users. But if it's only needed for bash, I suppose either will work.
– Marty Fried
Jul 31 '12 at 1:37
1
If you set it in~/.bashrc, it'll only be available in the terminals you open. E.g. if you hit Alt+F2 and try to run a command from that dir, it won't find it. If you set it in~/.profileor~/.pam_environment, the gnome session (or whichever DE you use) will inherit it. Appending PATH in~/.bashrcalso has the drawback that if you open/exec bash interactively from another interactive bash shell, it'll be appended multiple times.
– geirha
Jul 31 '12 at 4:58
2
I haven't really looked into this for a while, so I did a search, and it seems that there are at least 95 different ways to set the path, most of which are discussed here. I never figured out which one is best. I think~/.profileis correct for personal paths, though; that's where Ubuntu adds the~/bindirectory. And I confess that I exaggerated a slight bit on the number of ways - just a little.
– Marty Fried
Jul 31 '12 at 5:02
1
@MartyFried, yes, to quote the bot in #bash on freenode: «The overwhelming majority of bash scripts, code, tutorials, and guides on the Internet are crap. Sturgeon was an optimist.» Using google for bash problem, you'll often find a lot of half-working solutions before you find a good one. Oh and I'd go with~/.profilein this case too.
– geirha
Jul 31 '12 at 5:14
1
@geirha - I agree that most guides on the internet in general are probably crap, especially anything linux since different distros, or even different versions of the same one, do things differently. It usually boils down to what works, but most people don't realize that what works is simply what works, not necessarily what's right or even what will always work. I try to figure out which of the many ways is actually correct, because I hate doing things more than once - but it's not always easy. :)
– Marty Fried
Jul 31 '12 at 18:50
|
show 1 more comment
1
Actually, I thought you set the path in either$HOME/.profilefor personal settings, or/etc/profilefor all users. But if it's only needed for bash, I suppose either will work.
– Marty Fried
Jul 31 '12 at 1:37
1
If you set it in~/.bashrc, it'll only be available in the terminals you open. E.g. if you hit Alt+F2 and try to run a command from that dir, it won't find it. If you set it in~/.profileor~/.pam_environment, the gnome session (or whichever DE you use) will inherit it. Appending PATH in~/.bashrcalso has the drawback that if you open/exec bash interactively from another interactive bash shell, it'll be appended multiple times.
– geirha
Jul 31 '12 at 4:58
2
I haven't really looked into this for a while, so I did a search, and it seems that there are at least 95 different ways to set the path, most of which are discussed here. I never figured out which one is best. I think~/.profileis correct for personal paths, though; that's where Ubuntu adds the~/bindirectory. And I confess that I exaggerated a slight bit on the number of ways - just a little.
– Marty Fried
Jul 31 '12 at 5:02
1
@MartyFried, yes, to quote the bot in #bash on freenode: «The overwhelming majority of bash scripts, code, tutorials, and guides on the Internet are crap. Sturgeon was an optimist.» Using google for bash problem, you'll often find a lot of half-working solutions before you find a good one. Oh and I'd go with~/.profilein this case too.
– geirha
Jul 31 '12 at 5:14
1
@geirha - I agree that most guides on the internet in general are probably crap, especially anything linux since different distros, or even different versions of the same one, do things differently. It usually boils down to what works, but most people don't realize that what works is simply what works, not necessarily what's right or even what will always work. I try to figure out which of the many ways is actually correct, because I hate doing things more than once - but it's not always easy. :)
– Marty Fried
Jul 31 '12 at 18:50
1
1
Actually, I thought you set the path in either
$HOME/.profile for personal settings, or /etc/profile for all users. But if it's only needed for bash, I suppose either will work.– Marty Fried
Jul 31 '12 at 1:37
Actually, I thought you set the path in either
$HOME/.profile for personal settings, or /etc/profile for all users. But if it's only needed for bash, I suppose either will work.– Marty Fried
Jul 31 '12 at 1:37
1
1
If you set it in
~/.bashrc, it'll only be available in the terminals you open. E.g. if you hit Alt+F2 and try to run a command from that dir, it won't find it. If you set it in ~/.profile or ~/.pam_environment, the gnome session (or whichever DE you use) will inherit it. Appending PATH in ~/.bashrc also has the drawback that if you open/exec bash interactively from another interactive bash shell, it'll be appended multiple times.– geirha
Jul 31 '12 at 4:58
If you set it in
~/.bashrc, it'll only be available in the terminals you open. E.g. if you hit Alt+F2 and try to run a command from that dir, it won't find it. If you set it in ~/.profile or ~/.pam_environment, the gnome session (or whichever DE you use) will inherit it. Appending PATH in ~/.bashrc also has the drawback that if you open/exec bash interactively from another interactive bash shell, it'll be appended multiple times.– geirha
Jul 31 '12 at 4:58
2
2
I haven't really looked into this for a while, so I did a search, and it seems that there are at least 95 different ways to set the path, most of which are discussed here. I never figured out which one is best. I think
~/.profile is correct for personal paths, though; that's where Ubuntu adds the ~/bin directory. And I confess that I exaggerated a slight bit on the number of ways - just a little.– Marty Fried
Jul 31 '12 at 5:02
I haven't really looked into this for a while, so I did a search, and it seems that there are at least 95 different ways to set the path, most of which are discussed here. I never figured out which one is best. I think
~/.profile is correct for personal paths, though; that's where Ubuntu adds the ~/bin directory. And I confess that I exaggerated a slight bit on the number of ways - just a little.– Marty Fried
Jul 31 '12 at 5:02
1
1
@MartyFried, yes, to quote the bot in #bash on freenode: «The overwhelming majority of bash scripts, code, tutorials, and guides on the Internet are crap. Sturgeon was an optimist.» Using google for bash problem, you'll often find a lot of half-working solutions before you find a good one. Oh and I'd go with
~/.profile in this case too.– geirha
Jul 31 '12 at 5:14
@MartyFried, yes, to quote the bot in #bash on freenode: «The overwhelming majority of bash scripts, code, tutorials, and guides on the Internet are crap. Sturgeon was an optimist.» Using google for bash problem, you'll often find a lot of half-working solutions before you find a good one. Oh and I'd go with
~/.profile in this case too.– geirha
Jul 31 '12 at 5:14
1
1
@geirha - I agree that most guides on the internet in general are probably crap, especially anything linux since different distros, or even different versions of the same one, do things differently. It usually boils down to what works, but most people don't realize that what works is simply what works, not necessarily what's right or even what will always work. I try to figure out which of the many ways is actually correct, because I hate doing things more than once - but it's not always easy. :)
– Marty Fried
Jul 31 '12 at 18:50
@geirha - I agree that most guides on the internet in general are probably crap, especially anything linux since different distros, or even different versions of the same one, do things differently. It usually boils down to what works, but most people don't realize that what works is simply what works, not necessarily what's right or even what will always work. I try to figure out which of the many ways is actually correct, because I hate doing things more than once - but it's not always easy. :)
– Marty Fried
Jul 31 '12 at 18:50
|
show 1 more comment
To set it system wide, append the line export PATH=/path/you're/adding:$PATH to the end of /etc/profile.
To add the directory for only the logged-in user, append the same line to ~/.bash_profile.
add a comment |
To set it system wide, append the line export PATH=/path/you're/adding:$PATH to the end of /etc/profile.
To add the directory for only the logged-in user, append the same line to ~/.bash_profile.
add a comment |
To set it system wide, append the line export PATH=/path/you're/adding:$PATH to the end of /etc/profile.
To add the directory for only the logged-in user, append the same line to ~/.bash_profile.
To set it system wide, append the line export PATH=/path/you're/adding:$PATH to the end of /etc/profile.
To add the directory for only the logged-in user, append the same line to ~/.bash_profile.
edited Sep 10 '11 at 1:48
isomorphismes
85221228
85221228
answered Jul 22 '09 at 23:20
ennuikillerennuikiller
25113
25113
add a comment |
add a comment |
Adding it to .bashrc will work but I think the more traditional way of setting up your path variables is in .bash_profile by adding the following lines.
PATH=$PATH:/my/path/foo
export PATH
According to this thread it appears as though Ubuntu's behavior is slightly different than RedHat and clones.
1
I don't have a .bash_profile, Should I create it?
– justingrif
Jul 22 '09 at 21:39
7
If you have.bashrc, stick it in.bashrcinstead. GUI terminals in Ubuntu are not login shells, so.bash_profilewill not be run.
– koenigdmj
Jul 22 '09 at 21:58
1
I am not running a gui shell. But from the thread above it looks like the .bashrc will work just fine.
– justingrif
Jul 22 '09 at 22:05
2
Both will work if your shell is a login shell. But I just tried the .bash_profile approach on one of my Ubuntu machines and even after restarting my gnome session it didn't source my .bash_profile. So I would say that putting this in .bashrc is probably the way to go with Ubuntu.
– 3dinfluence
Jul 23 '09 at 2:30
3
@justingrif No, you don't need.bash_profile. If bash doesn't find a.bash_profile(when you log in interactively), it will look for.profileand use that instead. By default, you'll have a.profileand.bashrcin Ubuntu. And.profileis the correct place to set environment variables if we disregard pam_env.
– geirha
Mar 2 '12 at 12:19
add a comment |
Adding it to .bashrc will work but I think the more traditional way of setting up your path variables is in .bash_profile by adding the following lines.
PATH=$PATH:/my/path/foo
export PATH
According to this thread it appears as though Ubuntu's behavior is slightly different than RedHat and clones.
1
I don't have a .bash_profile, Should I create it?
– justingrif
Jul 22 '09 at 21:39
7
If you have.bashrc, stick it in.bashrcinstead. GUI terminals in Ubuntu are not login shells, so.bash_profilewill not be run.
– koenigdmj
Jul 22 '09 at 21:58
1
I am not running a gui shell. But from the thread above it looks like the .bashrc will work just fine.
– justingrif
Jul 22 '09 at 22:05
2
Both will work if your shell is a login shell. But I just tried the .bash_profile approach on one of my Ubuntu machines and even after restarting my gnome session it didn't source my .bash_profile. So I would say that putting this in .bashrc is probably the way to go with Ubuntu.
– 3dinfluence
Jul 23 '09 at 2:30
3
@justingrif No, you don't need.bash_profile. If bash doesn't find a.bash_profile(when you log in interactively), it will look for.profileand use that instead. By default, you'll have a.profileand.bashrcin Ubuntu. And.profileis the correct place to set environment variables if we disregard pam_env.
– geirha
Mar 2 '12 at 12:19
add a comment |
Adding it to .bashrc will work but I think the more traditional way of setting up your path variables is in .bash_profile by adding the following lines.
PATH=$PATH:/my/path/foo
export PATH
According to this thread it appears as though Ubuntu's behavior is slightly different than RedHat and clones.
Adding it to .bashrc will work but I think the more traditional way of setting up your path variables is in .bash_profile by adding the following lines.
PATH=$PATH:/my/path/foo
export PATH
According to this thread it appears as though Ubuntu's behavior is slightly different than RedHat and clones.
answered Jul 22 '09 at 20:58
3dinfluence3dinfluence
4731513
4731513
1
I don't have a .bash_profile, Should I create it?
– justingrif
Jul 22 '09 at 21:39
7
If you have.bashrc, stick it in.bashrcinstead. GUI terminals in Ubuntu are not login shells, so.bash_profilewill not be run.
– koenigdmj
Jul 22 '09 at 21:58
1
I am not running a gui shell. But from the thread above it looks like the .bashrc will work just fine.
– justingrif
Jul 22 '09 at 22:05
2
Both will work if your shell is a login shell. But I just tried the .bash_profile approach on one of my Ubuntu machines and even after restarting my gnome session it didn't source my .bash_profile. So I would say that putting this in .bashrc is probably the way to go with Ubuntu.
– 3dinfluence
Jul 23 '09 at 2:30
3
@justingrif No, you don't need.bash_profile. If bash doesn't find a.bash_profile(when you log in interactively), it will look for.profileand use that instead. By default, you'll have a.profileand.bashrcin Ubuntu. And.profileis the correct place to set environment variables if we disregard pam_env.
– geirha
Mar 2 '12 at 12:19
add a comment |
1
I don't have a .bash_profile, Should I create it?
– justingrif
Jul 22 '09 at 21:39
7
If you have.bashrc, stick it in.bashrcinstead. GUI terminals in Ubuntu are not login shells, so.bash_profilewill not be run.
– koenigdmj
Jul 22 '09 at 21:58
1
I am not running a gui shell. But from the thread above it looks like the .bashrc will work just fine.
– justingrif
Jul 22 '09 at 22:05
2
Both will work if your shell is a login shell. But I just tried the .bash_profile approach on one of my Ubuntu machines and even after restarting my gnome session it didn't source my .bash_profile. So I would say that putting this in .bashrc is probably the way to go with Ubuntu.
– 3dinfluence
Jul 23 '09 at 2:30
3
@justingrif No, you don't need.bash_profile. If bash doesn't find a.bash_profile(when you log in interactively), it will look for.profileand use that instead. By default, you'll have a.profileand.bashrcin Ubuntu. And.profileis the correct place to set environment variables if we disregard pam_env.
– geirha
Mar 2 '12 at 12:19
1
1
I don't have a .bash_profile, Should I create it?
– justingrif
Jul 22 '09 at 21:39
I don't have a .bash_profile, Should I create it?
– justingrif
Jul 22 '09 at 21:39
7
7
If you have
.bashrc, stick it in .bashrc instead. GUI terminals in Ubuntu are not login shells, so .bash_profile will not be run.– koenigdmj
Jul 22 '09 at 21:58
If you have
.bashrc, stick it in .bashrc instead. GUI terminals in Ubuntu are not login shells, so .bash_profile will not be run.– koenigdmj
Jul 22 '09 at 21:58
1
1
I am not running a gui shell. But from the thread above it looks like the .bashrc will work just fine.
– justingrif
Jul 22 '09 at 22:05
I am not running a gui shell. But from the thread above it looks like the .bashrc will work just fine.
– justingrif
Jul 22 '09 at 22:05
2
2
Both will work if your shell is a login shell. But I just tried the .bash_profile approach on one of my Ubuntu machines and even after restarting my gnome session it didn't source my .bash_profile. So I would say that putting this in .bashrc is probably the way to go with Ubuntu.
– 3dinfluence
Jul 23 '09 at 2:30
Both will work if your shell is a login shell. But I just tried the .bash_profile approach on one of my Ubuntu machines and even after restarting my gnome session it didn't source my .bash_profile. So I would say that putting this in .bashrc is probably the way to go with Ubuntu.
– 3dinfluence
Jul 23 '09 at 2:30
3
3
@justingrif No, you don't need
.bash_profile. If bash doesn't find a .bash_profile (when you log in interactively), it will look for .profile and use that instead. By default, you'll have a .profile and .bashrc in Ubuntu. And .profile is the correct place to set environment variables if we disregard pam_env.– geirha
Mar 2 '12 at 12:19
@justingrif No, you don't need
.bash_profile. If bash doesn't find a .bash_profile (when you log in interactively), it will look for .profile and use that instead. By default, you'll have a .profile and .bashrc in Ubuntu. And .profile is the correct place to set environment variables if we disregard pam_env.– geirha
Mar 2 '12 at 12:19
add a comment |
In terminal, cd to the_directory_you_want_to_add_in_the_path
echo "export PATH=$(pwd):${PATH}" >> ~/.bashrc
This wasn't my idea. I found this way to export path at this blog here.
add a comment |
In terminal, cd to the_directory_you_want_to_add_in_the_path
echo "export PATH=$(pwd):${PATH}" >> ~/.bashrc
This wasn't my idea. I found this way to export path at this blog here.
add a comment |
In terminal, cd to the_directory_you_want_to_add_in_the_path
echo "export PATH=$(pwd):${PATH}" >> ~/.bashrc
This wasn't my idea. I found this way to export path at this blog here.
In terminal, cd to the_directory_you_want_to_add_in_the_path
echo "export PATH=$(pwd):${PATH}" >> ~/.bashrc
This wasn't my idea. I found this way to export path at this blog here.
edited Sep 8 '12 at 22:50
user76204
answered Sep 8 '12 at 22:44
Vittorio CecchettoVittorio Cecchetto
9111
9111
add a comment |
add a comment |
sudo vi /etc/profile.d/SCRIPT_NAME.sh
add there
export PATH=YOUR_PATH_WITHOUT_TRAILING_SLASH:$PATH
2
sudo nano /etc/profile.d/SCRIPT_NAME.shis easier for beginners.
– isomorphismes
Sep 10 '11 at 1:22
1
For beginners,gksu gedit /etc/profile.d/SCRIPT_NAME.shis even easier.
– fouric
Mar 26 '13 at 0:04
add a comment |
sudo vi /etc/profile.d/SCRIPT_NAME.sh
add there
export PATH=YOUR_PATH_WITHOUT_TRAILING_SLASH:$PATH
2
sudo nano /etc/profile.d/SCRIPT_NAME.shis easier for beginners.
– isomorphismes
Sep 10 '11 at 1:22
1
For beginners,gksu gedit /etc/profile.d/SCRIPT_NAME.shis even easier.
– fouric
Mar 26 '13 at 0:04
add a comment |
sudo vi /etc/profile.d/SCRIPT_NAME.sh
add there
export PATH=YOUR_PATH_WITHOUT_TRAILING_SLASH:$PATH
sudo vi /etc/profile.d/SCRIPT_NAME.sh
add there
export PATH=YOUR_PATH_WITHOUT_TRAILING_SLASH:$PATH
edited Sep 6 '11 at 12:49
Jorge Castro
36k105422617
36k105422617
answered Jan 13 '11 at 18:44
Clipping Path
2
sudo nano /etc/profile.d/SCRIPT_NAME.shis easier for beginners.
– isomorphismes
Sep 10 '11 at 1:22
1
For beginners,gksu gedit /etc/profile.d/SCRIPT_NAME.shis even easier.
– fouric
Mar 26 '13 at 0:04
add a comment |
2
sudo nano /etc/profile.d/SCRIPT_NAME.shis easier for beginners.
– isomorphismes
Sep 10 '11 at 1:22
1
For beginners,gksu gedit /etc/profile.d/SCRIPT_NAME.shis even easier.
– fouric
Mar 26 '13 at 0:04
2
2
sudo nano /etc/profile.d/SCRIPT_NAME.sh is easier for beginners.– isomorphismes
Sep 10 '11 at 1:22
sudo nano /etc/profile.d/SCRIPT_NAME.sh is easier for beginners.– isomorphismes
Sep 10 '11 at 1:22
1
1
For beginners,
gksu gedit /etc/profile.d/SCRIPT_NAME.sh is even easier.– fouric
Mar 26 '13 at 0:04
For beginners,
gksu gedit /etc/profile.d/SCRIPT_NAME.sh is even easier.– fouric
Mar 26 '13 at 0:04
add a comment |
Whenever I "install" my folder of BASH scripts, I follow the pattern of the test for a $HOME/bin folder that's in most .profile files in recent versions of Ubuntu. I set a test that looks like
if [ -d "/usr/scripts" ]; then
PATH="/usr/scripts:$PATH"
fi
It works just about 100% of the time, and leaves me free to change it in a GUI text editor with a quick "Replace all" should I ever decide to move /scripts somewhere closer to my $HOME folder. I haven't done so in 6 Ubuntu installs, but there's "always tomorrow." S
BZT
add a comment |
Whenever I "install" my folder of BASH scripts, I follow the pattern of the test for a $HOME/bin folder that's in most .profile files in recent versions of Ubuntu. I set a test that looks like
if [ -d "/usr/scripts" ]; then
PATH="/usr/scripts:$PATH"
fi
It works just about 100% of the time, and leaves me free to change it in a GUI text editor with a quick "Replace all" should I ever decide to move /scripts somewhere closer to my $HOME folder. I haven't done so in 6 Ubuntu installs, but there's "always tomorrow." S
BZT
add a comment |
Whenever I "install" my folder of BASH scripts, I follow the pattern of the test for a $HOME/bin folder that's in most .profile files in recent versions of Ubuntu. I set a test that looks like
if [ -d "/usr/scripts" ]; then
PATH="/usr/scripts:$PATH"
fi
It works just about 100% of the time, and leaves me free to change it in a GUI text editor with a quick "Replace all" should I ever decide to move /scripts somewhere closer to my $HOME folder. I haven't done so in 6 Ubuntu installs, but there's "always tomorrow." S
BZT
Whenever I "install" my folder of BASH scripts, I follow the pattern of the test for a $HOME/bin folder that's in most .profile files in recent versions of Ubuntu. I set a test that looks like
if [ -d "/usr/scripts" ]; then
PATH="/usr/scripts:$PATH"
fi
It works just about 100% of the time, and leaves me free to change it in a GUI text editor with a quick "Replace all" should I ever decide to move /scripts somewhere closer to my $HOME folder. I haven't done so in 6 Ubuntu installs, but there's "always tomorrow." S
BZT
edited Jun 5 '16 at 12:02
Shashanth
2611522
2611522
answered Dec 29 '11 at 2:25
SilversleevesxSilversleevesx
6111
6111
add a comment |
add a comment |
Open your terminal, type gedit .profile and insert the following:
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
PATH="$PATH:$HOME/bin"
fi
#the following line add Bin where you dont have a Bin folder on your $HOME
PATH="$PATH:/home/mongo/Documents/mongodb-linux-i686-2.2.2/bin"
Close and open terminal, it should be working.
add a comment |
Open your terminal, type gedit .profile and insert the following:
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
PATH="$PATH:$HOME/bin"
fi
#the following line add Bin where you dont have a Bin folder on your $HOME
PATH="$PATH:/home/mongo/Documents/mongodb-linux-i686-2.2.2/bin"
Close and open terminal, it should be working.
add a comment |
Open your terminal, type gedit .profile and insert the following:
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
PATH="$PATH:$HOME/bin"
fi
#the following line add Bin where you dont have a Bin folder on your $HOME
PATH="$PATH:/home/mongo/Documents/mongodb-linux-i686-2.2.2/bin"
Close and open terminal, it should be working.
Open your terminal, type gedit .profile and insert the following:
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
PATH="$PATH:$HOME/bin"
fi
#the following line add Bin where you dont have a Bin folder on your $HOME
PATH="$PATH:/home/mongo/Documents/mongodb-linux-i686-2.2.2/bin"
Close and open terminal, it should be working.
edited Feb 4 '13 at 19:28
Eric Carvalho
41.4k17114145
41.4k17114145
answered Feb 4 '13 at 19:09
djavierdjavier
411
411
add a comment |
add a comment |
The recommended way to edit your PATH is from /etc/environment file
Example output of /etc/environment:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
For example, to add the new path of /home/username/mydir
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/username/mydir"
Then, reboot your PC.
System-wide environment variables
A suitable file for environment variable settings that affect the system as a whole (rather than just a particular user) is /etc/environment. An alternative is to create a file for the purpose in the /etc/profile.d directory.
/etc/environment
This file is specifically meant for system-wide environment variable settings. It is not a script file, but rather consists of assignment expressions, one per line.
Note: Variable expansion does not work in /etc/environment.
More info can be found here: EnvironmentVariables
1
The lowest answer yet the most correct. This file is usually auto-populated bin Ubuntu with the path.
– NotoriousPyro
Oct 12 '17 at 13:33
add a comment |
The recommended way to edit your PATH is from /etc/environment file
Example output of /etc/environment:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
For example, to add the new path of /home/username/mydir
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/username/mydir"
Then, reboot your PC.
System-wide environment variables
A suitable file for environment variable settings that affect the system as a whole (rather than just a particular user) is /etc/environment. An alternative is to create a file for the purpose in the /etc/profile.d directory.
/etc/environment
This file is specifically meant for system-wide environment variable settings. It is not a script file, but rather consists of assignment expressions, one per line.
Note: Variable expansion does not work in /etc/environment.
More info can be found here: EnvironmentVariables
1
The lowest answer yet the most correct. This file is usually auto-populated bin Ubuntu with the path.
– NotoriousPyro
Oct 12 '17 at 13:33
add a comment |
The recommended way to edit your PATH is from /etc/environment file
Example output of /etc/environment:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
For example, to add the new path of /home/username/mydir
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/username/mydir"
Then, reboot your PC.
System-wide environment variables
A suitable file for environment variable settings that affect the system as a whole (rather than just a particular user) is /etc/environment. An alternative is to create a file for the purpose in the /etc/profile.d directory.
/etc/environment
This file is specifically meant for system-wide environment variable settings. It is not a script file, but rather consists of assignment expressions, one per line.
Note: Variable expansion does not work in /etc/environment.
More info can be found here: EnvironmentVariables
The recommended way to edit your PATH is from /etc/environment file
Example output of /etc/environment:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
For example, to add the new path of /home/username/mydir
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/username/mydir"
Then, reboot your PC.
System-wide environment variables
A suitable file for environment variable settings that affect the system as a whole (rather than just a particular user) is /etc/environment. An alternative is to create a file for the purpose in the /etc/profile.d directory.
/etc/environment
This file is specifically meant for system-wide environment variable settings. It is not a script file, but rather consists of assignment expressions, one per line.
Note: Variable expansion does not work in /etc/environment.
More info can be found here: EnvironmentVariables
edited Sep 28 '18 at 19:58
answered Nov 8 '16 at 9:04
BennyBenny
3,13411026
3,13411026
1
The lowest answer yet the most correct. This file is usually auto-populated bin Ubuntu with the path.
– NotoriousPyro
Oct 12 '17 at 13:33
add a comment |
1
The lowest answer yet the most correct. This file is usually auto-populated bin Ubuntu with the path.
– NotoriousPyro
Oct 12 '17 at 13:33
1
1
The lowest answer yet the most correct. This file is usually auto-populated bin Ubuntu with the path.
– NotoriousPyro
Oct 12 '17 at 13:33
The lowest answer yet the most correct. This file is usually auto-populated bin Ubuntu with the path.
– NotoriousPyro
Oct 12 '17 at 13:33
add a comment |
Put it to your ~/.bashrc or whatevershell you use rc (or to beforementioned ~/.profile) AND ~/.xsessionrc so it will also work in X (outside shell).
add a comment |
Put it to your ~/.bashrc or whatevershell you use rc (or to beforementioned ~/.profile) AND ~/.xsessionrc so it will also work in X (outside shell).
add a comment |
Put it to your ~/.bashrc or whatevershell you use rc (or to beforementioned ~/.profile) AND ~/.xsessionrc so it will also work in X (outside shell).
Put it to your ~/.bashrc or whatevershell you use rc (or to beforementioned ~/.profile) AND ~/.xsessionrc so it will also work in X (outside shell).
edited Aug 21 '15 at 22:00
heemayl
66.1k8137211
66.1k8137211
answered Aug 1 '12 at 9:40
MikaelaMikaela
1475
1475
add a comment |
add a comment |
Even if system scripts do not use this,
in any of the cases that one wants to add a path (e.g., $HOME/bin) to the PATH environment variable, one should use
PATH="${PATH:+${PATH}:}$HOME/bin"
for appending (instead of PATH="$PATH:$HOME/bin"),
and
PATH="$HOME/bin${PATH:+:${PATH}}"
for prepending (instead of PATH="$HOME/bin:$PATH").
This avoids the spurious leading/trailing colon when $PATH is initially empty, which can have undesired effects.
See e.g. https://unix.stackexchange.com/questions/162891/append-to-path-like-variable-without-creating-leading-colon-if-unset
add a comment |
Even if system scripts do not use this,
in any of the cases that one wants to add a path (e.g., $HOME/bin) to the PATH environment variable, one should use
PATH="${PATH:+${PATH}:}$HOME/bin"
for appending (instead of PATH="$PATH:$HOME/bin"),
and
PATH="$HOME/bin${PATH:+:${PATH}}"
for prepending (instead of PATH="$HOME/bin:$PATH").
This avoids the spurious leading/trailing colon when $PATH is initially empty, which can have undesired effects.
See e.g. https://unix.stackexchange.com/questions/162891/append-to-path-like-variable-without-creating-leading-colon-if-unset
add a comment |
Even if system scripts do not use this,
in any of the cases that one wants to add a path (e.g., $HOME/bin) to the PATH environment variable, one should use
PATH="${PATH:+${PATH}:}$HOME/bin"
for appending (instead of PATH="$PATH:$HOME/bin"),
and
PATH="$HOME/bin${PATH:+:${PATH}}"
for prepending (instead of PATH="$HOME/bin:$PATH").
This avoids the spurious leading/trailing colon when $PATH is initially empty, which can have undesired effects.
See e.g. https://unix.stackexchange.com/questions/162891/append-to-path-like-variable-without-creating-leading-colon-if-unset
Even if system scripts do not use this,
in any of the cases that one wants to add a path (e.g., $HOME/bin) to the PATH environment variable, one should use
PATH="${PATH:+${PATH}:}$HOME/bin"
for appending (instead of PATH="$PATH:$HOME/bin"),
and
PATH="$HOME/bin${PATH:+:${PATH}}"
for prepending (instead of PATH="$HOME/bin:$PATH").
This avoids the spurious leading/trailing colon when $PATH is initially empty, which can have undesired effects.
See e.g. https://unix.stackexchange.com/questions/162891/append-to-path-like-variable-without-creating-leading-colon-if-unset
edited Jun 27 '18 at 7:56
answered Jan 5 '18 at 16:25
sancho.ssancho.s
460317
460317
add a comment |
add a comment |
For Ubuntu edit the ~/.bashrc and add the following line.
. ~/.bash_profile
Then edit your .bash_profile as you need.....
1
Downvoted because you didn't explain how to "edit your.bash_profileas you need". What exactly do I need to do to the.bash_profile?
– isomorphismes
Sep 10 '11 at 1:17
4
This is the wrong way..profileor.bash_profileshould source.bashrc. Not the other way around.
– geirha
Mar 2 '12 at 12:15
add a comment |
For Ubuntu edit the ~/.bashrc and add the following line.
. ~/.bash_profile
Then edit your .bash_profile as you need.....
1
Downvoted because you didn't explain how to "edit your.bash_profileas you need". What exactly do I need to do to the.bash_profile?
– isomorphismes
Sep 10 '11 at 1:17
4
This is the wrong way..profileor.bash_profileshould source.bashrc. Not the other way around.
– geirha
Mar 2 '12 at 12:15
add a comment |
For Ubuntu edit the ~/.bashrc and add the following line.
. ~/.bash_profile
Then edit your .bash_profile as you need.....
For Ubuntu edit the ~/.bashrc and add the following line.
. ~/.bash_profile
Then edit your .bash_profile as you need.....
edited Sep 6 '11 at 12:50
Jorge Castro
36k105422617
36k105422617
answered Nov 19 '09 at 5:03
Vidula
1
Downvoted because you didn't explain how to "edit your.bash_profileas you need". What exactly do I need to do to the.bash_profile?
– isomorphismes
Sep 10 '11 at 1:17
4
This is the wrong way..profileor.bash_profileshould source.bashrc. Not the other way around.
– geirha
Mar 2 '12 at 12:15
add a comment |
1
Downvoted because you didn't explain how to "edit your.bash_profileas you need". What exactly do I need to do to the.bash_profile?
– isomorphismes
Sep 10 '11 at 1:17
4
This is the wrong way..profileor.bash_profileshould source.bashrc. Not the other way around.
– geirha
Mar 2 '12 at 12:15
1
1
Downvoted because you didn't explain how to "edit your
.bash_profile as you need". What exactly do I need to do to the .bash_profile?– isomorphismes
Sep 10 '11 at 1:17
Downvoted because you didn't explain how to "edit your
.bash_profile as you need". What exactly do I need to do to the .bash_profile?– isomorphismes
Sep 10 '11 at 1:17
4
4
This is the wrong way.
.profile or .bash_profile should source .bashrc. Not the other way around.– geirha
Mar 2 '12 at 12:15
This is the wrong way.
.profile or .bash_profile should source .bashrc. Not the other way around.– geirha
Mar 2 '12 at 12:15
add a comment |
protected by heemayl Aug 21 '15 at 22:00
Thank you for your interest in this question.
Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).
Would you like to answer one of these unanswered questions instead?
1
help.ubuntu.com/community/EnvironmentVariables There is all you need to know. I found out that a lot of the input here was incorrect or at least the method was not suggested. This is a great piece of information that will let you figure out where to modify your environment variable based on the reason you are doing it and exactly how to do it without screwing everything up (like I did following some of the aforementioned bad advice). So long, and thanks for all the fish!
– Bus42
Jun 12 '16 at 20:30