ENVIRON(7)

NAME
environ - user environment

SYNOPSIS
extern char *const *environ;

DESCRIPTION
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 passwd(5).

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 database ttytab(5).

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 file passwd(5).

LOGNAME
    Set to the same value as USER. BSD derived systems have USER, System V has LOGNAME, so modern systems have both to avoid problems.

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.

SEE ALSO
elvis(1), login(1), sh(1), execl(2), execve(2), system(3), termcap(3), termcap(5), ttytab(5).