# 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(3),  execve(2),  system(3),  termcap(3),
         termcap(5), passwd(5), ttytab(5).