Environment variables are a set of dynamic values that can affect the way running processes will behave.

In most Unix shells, each process has its own private set of environment variables that most likely were copies of the environment variables of the parent process. All Unix operating system flavors and MS-DOS have environment variables, however they do not all use the same variable names. Examples of environment variables include the PATH, which tells the shell where to search for commands the user may type.

Shell scripts and batch files use environment variables to store temporary values for reference later in the script, and also to comunicate data and preferences to child processes.

Usually an environment variable that is changed in a script or compiled program will only affect that process and possibly child processes. The parent process and any unrelated processes will not be affected.