.\" Copyright (c) 1983 Regents of the University of California. .\" All rights reserved. The Berkeley software License Agreement .\" specifies the terms and conditions for redistribution. .\" .\" @(#)environ.7 6.1 (Berkeley) 5/20/85 .\" .TH ENVIRON 7 "May 20, 1985" .UC 5 .SH NAME environ \- user environment .SH SYNOPSIS .B "extern char *const *environ;" .SH DESCRIPTION An array of strings called the `environment' is made available by .BR execve (2) when a process begins. By convention these strings have the form .RI ` name = value '. The following names are used by various commands: .TP "\w'TERMCAP 'u" .B PATH The sequence of directory prefixes that .BR sh , .BR time , .BR nice (1), etc., apply in searching for a file known by an incomplete path name. The prefixes are separated by `:'. Login shells set .BR 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. .TP .B HOME A user's login directory, set by .BR login (1) from the password file .BR passwd (5). .TP .B 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 .BR login (1) from the tty database .BR ttytab (5). .TP .B SHELL The file name of the users login shell, set by .BR login (1) from the password file .BR passwd (5). .TP .B TERMCAP The string describing the terminal in TERM, or the name of the termcap file, see .BR termcap (5), .BR termcap (3). .TP .B EXINIT A startup list of commands read by .BR elvis (1). .TP .B USER The login name of the user, set by .BR login (1) from the password file .BR passwd (5). .TP .B LOGNAME Set to the same value as .BR USER . BSD derived systems have .BR USER , System V has .BR LOGNAME , so modern systems have both to avoid problems. .TP .PP Further names may be placed in the environment by the .B export command and .RI ` name = value ' arguments in .BR sh (1). Arguments may also be placed in their environment by programs if they use .BR 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 .BR execle (2) or .BR execve (2). It is unwise to conflict with certain .BR sh (1) variables that are frequently set and/or exported by `.profile' files: .BR MAIL , .BR PS1 , .BR PS2 , .BR IFS . .SH SEE ALSO .BR elvis (1), .BR login (1), .BR sh (1), .BR execl (3), .BR execve (2), .BR system (3), .BR termcap (3), .BR termcap (5), .BR passwd (5), .BR ttytab (5).