What is the PATH environment variable and how do I add to it?

Partial duplicate: How to add a directory to the PATH?

PATH is an enviroment variable. It basically tells your machine where to search for programs, so when you run your picc program you can just do this:

picc

instead of

/usr/hitech/picc/9.82/bin/picc

To add a directory to your $PATH, follow either one of the options below.

Method 1

Edit ~/.profile:

gedit ~/.profile

find the following line:

PATH="$HOME/bin:$PATH"

and change it to:

PATH="$HOME/bin:$PATH:/usr/hitech/picc/9.82/bin"

Method 2

Run the command below in the terminal:

export PATH=$PATH:/usr/hitech/picc/9.82/bin

Shell environment variables are used for several purposes, from storing data, storing software configurations, set terminal settings, and changing shell environment. The environment variables are normally set at boot time, or by different software as required. One way of setting environmental variables is from the command line.

List all variables on terminal

env

this will print all the variable that you have

Show one variable at a time

The amount of these variables can become a very long list and locating one specific variable can become a tough task. Fortunately Linux allows us to display the value of one shell variable by using the echo command along with the name of the variable. This makes the task very easy. example: echo "$HOME"

Add or change a variable

To add or modify an environment variable, we can use the export command followed by the name of the variable and the values that go with it.

export NameofVariable='value'

Note, however, that this will only work for the current shell session. It won't be available in any other terminals.


vi(m) ~/.profile
PATH="$HOME/bin:$HOME/.local/bin:{whatever_path_you_need_to_add}:$PATH"

If you don't have .profile file... this will also create one:

In that scenario add this also-

if [ -n "$BASH_VERSION" ]; then
   # include .bashrc if it exists
   if [ -f "$HOME/.bashrc" ]; then
      . "$HOME/.bashrc"
   fi
fi

# set PATH so it includes user's private bin directories

PATH="$HOME/bin:$HOME/.local/bin:/usr/bin:$PATH"