Difference between revisions of "Linux Shell Environment Path"
m |
m |
||
(5 intermediate revisions by one user not shown) | |||
Line 13: | Line 13: | ||
Look at /etc/profile which is used for each new user directory created. It has a script still looking for .bash_profile so it appears that if a .bash_profile is created, the script will identify its existence and use it. | Look at /etc/profile which is used for each new user directory created. It has a script still looking for .bash_profile so it appears that if a .bash_profile is created, the script will identify its existence and use it. | ||
− | + | Note: '''Recommend you use the .bashrc method mentioned below this note! It seems to work very well on most systems.''' | |
+ | |||
+ | IF THAT DOESN'T WORK - THIS WILL ... | ||
+ | vi ~/.bashrc | ||
+ | PATH="/myscripts:$PATH" | ||
+ | |||
+ | Note: the .bashrc is executed every time a bash shell is opened and .bash_profile only if it's a login shell. | ||
+ | |||
+ | If you "sudo bash" then your custom path directories have vanished! /etc/sudoers is configured to replace your PATH with a default one. You have a couple options, either remove Defaults secure_path= from /etc/sudoers or add your custom directory to the secure_path in /etc/sudoers. For some stupid reason when you visudo the /etc/sudoers file opens in nano! stupid! | ||
+ | sudo update-alternatives --config editor | ||
+ | Will allow you to fix the stupid editor default (idiots at Ubuntu and Mint don't you think nano is for dosy people?) | ||
+ | sudo visudo | ||
+ | |||
+ | Adding to the PATH for ALL USERS can be done like this: | ||
+ | * edit /etc/profile, put the modified PATH in there. | ||
+ | PATH=$PATH:/your/path; export PATH | ||
+ | Add that line to the bottom of /etc/profile | ||
+ | |||
+ | |||
+ | <small><small>keywords: bash path bashrc bash_profile bash_history command set</small></small> |
Latest revision as of 15:50, 18 October 2023
The current path environmental variable can be viewed
echo $PATH
capital letters on PATH. Want to know if a command is in $PATH?
which command
Need to add a directory path to the shell path statement for your own scripts?
- Per user shell
vi ~/.profile
Look for the line with a comment about "set PATH so it includes user's private bin directories" and add your custom path in there like this: ( added /myscripts to the path )
PATH="$HOME/bin:$HOME/.local/bin:/myscripts:$PATH"
note: In the past we used ~/.bash_profile and had to include "export PATH"
Look at /etc/profile which is used for each new user directory created. It has a script still looking for .bash_profile so it appears that if a .bash_profile is created, the script will identify its existence and use it.
Note: Recommend you use the .bashrc method mentioned below this note! It seems to work very well on most systems.
IF THAT DOESN'T WORK - THIS WILL ...
vi ~/.bashrc PATH="/myscripts:$PATH"
Note: the .bashrc is executed every time a bash shell is opened and .bash_profile only if it's a login shell.
If you "sudo bash" then your custom path directories have vanished! /etc/sudoers is configured to replace your PATH with a default one. You have a couple options, either remove Defaults secure_path= from /etc/sudoers or add your custom directory to the secure_path in /etc/sudoers. For some stupid reason when you visudo the /etc/sudoers file opens in nano! stupid!
sudo update-alternatives --config editor
Will allow you to fix the stupid editor default (idiots at Ubuntu and Mint don't you think nano is for dosy people?)
sudo visudo
Adding to the PATH for ALL USERS can be done like this:
- edit /etc/profile, put the modified PATH in there.
PATH=$PATH:/your/path; export PATH
Add that line to the bottom of /etc/profile
keywords: bash path bashrc bash_profile bash_history command set