Home

Startowy

/etc/bash.bashrc (distro specific Bash configuration file)
$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:
/usr/lib/jvm/jdk1.8.0_92/bin:/usr/lib/jvm/jdk1.8.0_92/db/bin:/usr/lib/jvm/jdk1.8.0_92/jre/bin
Now, if we want to add a path (e.g ~/bin) to the PATH variable:
PATH=~/bin:$PATH
# or
PATH=$PATH:~/bin
But this will modify the PATH only in the current shell (and its subshell). Once you exit the shell, this modification
will be gone.
To make it permanent, we need to add that bit of code to the ~/.bashrc (or whatever) file and reload the file.
If you run the following code (in terminal), it will add ~/bin to the PATH permanently:
echo 'PATH=~/bin:$PATH' >> ~/.bashrc && source ~/.bashrc
Explanation:
echo 'PATH=~/bin:$PATH' >> ~/.bashrc adds the line PATH=~/bin:$PATH at the end of ~/.bashrc file (you
could do it with a text editor)
source ~/.bashrc reloads the ~/.bashrc file
This is a bit of code (run in terminal) that will check if a path is already included and add the path only if not:
path=~/bin # path to be included
bashrc=~/.bashrc # bash file to be written and reloaded
# run the following code unmodified
echo $PATH | grep -q "\(^\|:\)$path\(:\|/\{0,1\}$\)" || echo "PATH=\$PATH:$path" >> "$bashrc";
source "$bashrc"
Section 44.2: Remove a path from the PATH environment
variable
To remove a PATH from a PATH environment variable, you need to edit ~/.bashrc or ~/.bash_profile or /etc/profile
or ~/.profile or /etc/bash.bashrc (distro specific) file and remove the assignment for that particular path.
Instead of finding the exact assignment, you could just do a replacement in the $PATH in its final stage.
The following will safely remove $path from $PATH: