summaryrefslogtreecommitdiffstats
path: root/man7/environ.7
diff options
context:
space:
mode:
Diffstat (limited to 'man7/environ.7')
-rw-r--r--man7/environ.7354
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)