7.2.1.1. General
We already mentioned a couple of environment variables, such as
PATH and HOME.
Until now, we only saw examples in which they serve a certain
purpose to the shell. But there are many other Linux utilities that
need information about you in order to do a good job.
What other information do programs need apart from paths and
home directories?
A lot of programs want to know about the kind of terminal you
are using; this information is stored in the TERM variable. In text mode, this will be the
linux terminal emulation, in graphical mode you are likely
to use xterm. Lots of programs want to know what your
favorite editor is, in case they have to start an editor in a
subprocess. The shell you are using is stored in the SHELL variable, the operating system type in
OS and so on. A list of all variables
currently defined for your session can be viewed entering the
printenv command.
The environment variables are managed by the shell. As opposed
to regular shell variables, environment variables are inherited by
any program you start, including another shell. New processes are
assigned a copy of these variables, which they can read, modify and
pass on in turn to their own child processes.
There is nothing special about variable names, except that the
common ones are in upper case characters by convention. You may
come up with any name you want, although there are standard
variables that are important enough to be the same on every Linux
system, such as PATH and HOME.