Basically environment variables are stored in the system and can be used by different shell processes. Environment variables are usually upper case (conventionally) and and follows Bash syntax rules. Environment variables will be available to any shell process. You can set an environment variable in a one line command using export (which sets the environment variable) and we can print the value of the environment variable with printenv.

export KEY=value
printenv KEY
\$ value


To remove the environment variable we can use unset (to unset shell/environment variables).

unset KEY


The other option is to use set (to set shell variables) and export together.

set KEY=value
export KEY
printenv KEY


If you set the environment variable in one shell using the command line and print the value then nothing will return. In order for the environment variables to be recognized in new shell processes you need to set them in your bash profile. For example, in ~/.bash_profile you could have the following.

export KEY=value


If you save the file and open up a new shell process and run printenv KEY from the command line then value will be returned.

The PATH environment variable is super useful. Some programs will search this variable for executable. For example, one of the paths in my PATH variable points to the location of texbin so that LaTeX knows where to look when I try to build LaTeX code.

Reference: