environ - user environment
extern char *const *environ;
An array of strings called the `environment' is made available by
execve(2) when a process begins. By convention these strings have the
form `name=value'. The following names are used by various commands:
PATH The sequence of directory prefixes that sh, time, nice(1), etc.,
apply in searching for a file known by an incomplete path name.
The prefixes are separated by `:'. Login shells set
PATH=:/bin:/usr/bin. Note that the empty space between the `='
and the `:' indicates the current directory. Security aware
people move the extra `:' to the end of their path or omit it.
HOME A user's login directory, set by login(1) from the password file
TERM The kind of terminal for which output is to be prepared. This
information is used by programs that wish to exploit special
terminal capabilities, a screen oriented text editor for
instance. The terminal type is set by login(1) from the tty
SHELL The file name of the users login shell, set by login(1) from the
password file passwd(5).
TERMCAP The string describing the terminal in TERM, or the name of the
termcap file, see termcap(5), termcap(3).
EXINIT A startup list of commands read by elvis(1).
USER The login name of the user, set by login(1) from the password
LOGNAME Set to the same value as USER. BSD derived systems have USER,
System V has LOGNAME, so modern systems have both to avoid
Further names may be placed in the environment by the export command and
`name=value' arguments in sh(1). Arguments may also be placed in their
environment by programs if they use putenv(3). Or in the environment of
another program by building a new environment for one of the exec
functions that accepts an environment list, like execle(2) or execve(2).
It is unwise to conflict with certain sh(1) variables that are frequently
set and/or exported by `.profile' files: MAIL, PS1, PS2, IFS.
elvis(1), login(1), sh(1), execl(3), execve(2), system(3), termcap(3),
termcap(5), passwd(5), ttytab(5).