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).