diff options
Diffstat (limited to 'man7/environ.7')
-rw-r--r-- | man7/environ.7 | 354 |
1 files changed, 0 insertions, 354 deletions
diff --git a/man7/environ.7 b/man7/environ.7 deleted file mode 100644 index cb7a839..0000000 --- a/man7/environ.7 +++ /dev/null @@ -1,354 +0,0 @@ -.\" Copyright (c) 1993 Michael Haardt (michael@moria.de), -.\" Fri Apr 2 11:32:09 MET DST 1993 -.\" and Andries Brouwer (aeb@cwi.nl), Fri Feb 14 21:47:50 1997. -.\" -.\" SPDX-License-Identifier: GPL-2.0-or-later -.\" -.\" Modified Sun Jul 25 10:45:30 1993 by Rik Faith (faith@cs.unc.edu) -.\" Modified Sun Jul 21 21:25:26 1996 by Andries Brouwer (aeb@cwi.nl) -.\" Modified Mon Oct 21 17:47:19 1996 by Eric S. Raymond (esr@thyrsus.com) -.\" Modified Wed Aug 27 20:28:58 1997 by Nicolás Lichtmaier (nick@debian.org) -.\" Modified Mon Sep 21 00:00:26 1998 by Andries Brouwer (aeb@cwi.nl) -.\" Modified Wed Jan 24 06:37:24 2001 by Eric S. Raymond (esr@thyrsus.com) -.\" Modified Thu Dec 13 23:53:27 2001 by Martin Schulze <joey@infodrom.org> -.\" -.TH environ 7 2023-10-31 "Linux man-pages 6.7" -.SH NAME -environ \- user environment -.SH SYNOPSIS -.nf -.BI "extern char **" environ ; -.fi -.SH DESCRIPTION -The variable -.I environ -points to an array of pointers to strings called the "environment". -The last pointer in this array has the value NULL. -This array of strings is made available to the process by the -.BR execve (2) -call when a new program is started. -When a child process is created via -.BR fork (2), -it inherits a -.I copy -of its parent's environment. -.P -By convention, the strings in -.I environ -have the form "\fIname\fP\fB=\fP\fIvalue\fP". -The name is case-sensitive and may not contain -the character "\fB=\fP". -The value can be anything that can be represented as a string. -The name and the value may not contain an embedded null byte (\[aq]\e0\[aq]), -since this is assumed to terminate the string. -.P -Environment variables may be placed in the shell's environment by the -.I export -command in -.BR sh (1), -or by the -.I setenv -command if you use -.BR csh (1). -.P -The initial environment of the shell is populated in various ways, -such as definitions from -.I /etc/environment -that are processed by -.BR pam_env (8) -for all users at login time (on systems that employ -.BR pam (8)). -In addition, various shell initialization scripts, such as the system-wide -.I /etc/profile -script and per-user initializations script may include commands -that add variables to the shell's environment; -see the manual page of your preferred shell for details. -.P -Bourne-style shells support the syntax -.P -.in +4n -.EX -NAME=value command -.EE -.in -.P -to create an environment variable definition only in the scope -of the process that executes -.IR command . -Multiple variable definitions, separated by white space, may precede -.IR command . -.P -Arguments may also be placed in the -environment at the point of an -.BR exec (3). -A C program can manipulate its environment using the functions -.BR getenv (3), -.BR putenv (3), -.BR setenv (3), -and -.BR unsetenv (3). -.P -What follows is a list of environment variables typically seen on a -system. -This list is incomplete and includes only common variables seen -by average users in their day-to-day routine. -Environment variables specific to a particular program or library function -are documented in the ENVIRONMENT section of the appropriate manual page. -.TP -.B USER -The name of the logged-in user (used by some BSD-derived programs). -Set at login time, see section NOTES below. -.TP -.B LOGNAME -The name of the logged-in user (used by some System-V derived programs). -Set at login time, see section NOTES below. -.TP -.B HOME -A user's login directory. -Set at login time, see section NOTES below. -.TP -.B LANG -The name of a locale to use for locale categories when not overridden -by -.B LC_ALL -or more specific environment variables such as -.BR LC_COLLATE , -.BR LC_CTYPE , -.BR LC_MESSAGES , -.BR LC_MONETARY , -.BR LC_NUMERIC , -and -.B LC_TIME -(see -.BR locale (7) -for further details of the -.B LC_* -environment variables). -.TP -.B PATH -The sequence of directory prefixes that -.BR sh (1) -and many other -programs employ when searching for an executable file that is specified -as a simple filename (i.a., a pathname that contains no slashes). -The prefixes are separated by colons (\fB:\fP). -The list of prefixes is searched from beginning to end, -by checking the pathname formed by concatenating -a prefix, a slash, and the filename, -until a file with execute permission is found. -.IP -As a legacy feature, a zero-length prefix -(specified as two adjacent colons, or an initial or terminating colon) -is interpreted to mean the current working directory. -However, use of this feature is deprecated, -and POSIX notes that a conforming application shall use -an explicit pathname (e.g., -.IR . ) -to specify the current working directory. -.IP -Analogously to -.BR PATH , -one has -.B CDPATH -used by some shells to find the target -of a change directory command, -.B MANPATH -used by -.BR man (1) -to find manual pages, and so on. -.TP -.B PWD -Absolute path to the current working directory; -required to be partially canonical (no -.I .\& -or -.I ..\& -components). -.TP -.B SHELL -The absolute pathname of the user's login shell. -Set at login time, see section NOTES below. -.TP -.B TERM -The terminal type for which output is to be prepared. -.TP -.B PAGER -The user's preferred utility to display text files. -Any string acceptable as a command-string operand to the -.I sh\ \-c -command shall be valid. -If -.B PAGER -is null or is not set, -then applications that launch a pager will default to a program such as -.BR less (1) -or -.BR more (1). -.TP -.BR EDITOR / VISUAL -The user's preferred utility to edit text files. -Any string acceptable as a command_string operand to the -.I sh\ \-c -command shall be valid. -.\" .TP -.\" .B BROWSER -.\" The user's preferred utility to browse URLs. Sequence of colon-separated -.\" browser commands. See http://www.catb.org/\[ti]esr/BROWSER/ . -.P -Note that the behavior of many programs and library routines is -influenced by the presence or value of certain environment variables. -Examples include the following: -.IP \[bu] 3 -The variables -.BR LANG ", " LANGUAGE ", " NLSPATH ", " LOCPATH , -.BR LC_ALL ", " LC_MESSAGES , -and so on influence locale handling; see -.BR catopen (3), -.BR gettext (3), -and -.BR locale (7). -.IP \[bu] -.B TMPDIR -influences the path prefix of names created by -.BR tempnam (3) -and other routines, and the temporary directory used by -.BR sort (1) -and other programs. -.IP \[bu] -.BR LD_LIBRARY_PATH ", " LD_PRELOAD , -and other -.B LD_* -variables influence the behavior of the dynamic loader/linker. -See also -.BR ld.so (8). -.IP \[bu] -.B POSIXLY_CORRECT -makes certain programs and library routines follow -the prescriptions of POSIX. -.IP \[bu] -The behavior of -.BR malloc (3) -is influenced by -.B MALLOC_* -variables. -.IP \[bu] -The variable -.B HOSTALIASES -gives the name of a file containing aliases -to be used with -.BR gethostbyname (3). -.IP \[bu] -.BR TZ " and " TZDIR -give timezone information used by -.BR tzset (3) -and through that by functions like -.BR ctime (3), -.BR localtime (3), -.BR mktime (3), -.BR strftime (3). -See also -.BR tzselect (8). -.IP \[bu] -.B TERMCAP -gives information on how to address a given terminal -(or gives the name of a file containing such information). -.IP \[bu] -.BR COLUMNS " and " LINES -tell applications about the window size, possibly overriding the actual size. -.IP \[bu] -.BR PRINTER " or " LPDEST -may specify the desired printer to use. -See -.BR lpr (1). -.SH NOTES -Historically and by standard, -.I environ -must be declared in the user program. -However, as a (nonstandard) programmer convenience, -.I environ -is declared in the header file -.I <unistd.h> -if the -.B _GNU_SOURCE -feature test macro is defined (see -.BR feature_test_macros (7)). -.P -The -.BR prctl (2) -.B PR_SET_MM_ENV_START -and -.B PR_SET_MM_ENV_END -operations can be used to control the location of the process's environment. -.P -The -.BR HOME , -.BR LOGNAME , -.BR SHELL , -and -.B USER -variables are set when the user is changed via a -session management interface, typically by a program such as -.BR login (1) -from a user database (such as -.BR passwd (5)). -(Switching to the root user using -.BR su (1) -may result in a mixed environment where -.B LOGNAME -and -.B USER -are retained from old user; see the -.BR su (1) -manual page.) -.SH BUGS -Clearly there is a security risk here. -Many a system command has been -tricked into mischief by a user who specified unusual values for -.BR IFS " or " LD_LIBRARY_PATH . -.P -There is also the risk of name space pollution. -Programs like -.I make -and -.I autoconf -allow overriding of default utility names from the -environment with similarly named variables in all caps. -Thus one uses -.B CC -to select the desired C compiler (and similarly -.BR MAKE , -.BR AR , -.BR AS , -.BR FC , -.BR LD , -.BR LEX , -.BR RM , -.BR YACC , -etc.). -However, in some traditional uses such an environment variable -gives options for the program instead of a pathname. -Thus, one has -.B MORE -and -.BR LESS . -Such usage is considered mistaken, and to be avoided in new -programs. -.SH SEE ALSO -.BR bash (1), -.BR csh (1), -.BR env (1), -.BR login (1), -.BR printenv (1), -.BR sh (1), -.BR su (1), -.BR tcsh (1), -.BR execve (2), -.BR clearenv (3), -.BR exec (3), -.BR getenv (3), -.BR putenv (3), -.BR setenv (3), -.BR unsetenv (3), -.BR locale (7), -.BR ld.so (8), -.BR pam_env (8) |