<P> They are part of the environment in which a process runs . For example, a running process can query the value of the TEMP environment variable to discover a suitable location to store temporary files, or the HOME or USERPROFILE variable to find the directory structure owned by the user running the process . </P> <P> They were introduced in their modern form in 1979 with Version 7 Unix, so are included in all Unix operating system flavors and variants from that point onward including Linux and macOS . From PC DOS 2.0 in 1982, all succeeding Microsoft operating systems including Microsoft Windows, and OS / 2 also have included them as a feature, although with somewhat different syntax, usage and standard variable names . </P> <P> In all Unix and Unix - like systems, each process has its own separate set of environment variables . By default, when a process is created, it inherits a duplicate environment of its parent process, except for explicit changes made by the parent when it creates the child . At the API level, these changes must be done between running fork and exec . Alternatively, from command shells such as bash, a user can change environment variables for a particular command invocation by indirectly invoking it via env or using the ENVIRONMENT_VARIABLE = VALUE <command> notation . A running program can access the values of environment variables for configuration purposes . </P> <P> Shell scripts and batch files use environment variables to communicate data and preferences to child processes . They can also be used to store temporary values for reference later in a shell script . However, in Unix, other variables are usually used for this . </P>

Which command will display all the environment variables on the system