ENVIRON(7) | Miscellaneous Information Manual | ENVIRON(7)

# NAME

`environ` —
user process environment

# SYNOPSIS

extern char **`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:

`AUDIOCTLDEVICE`
  The name of the audio control device to be used by audioctl(1), audioplay(1) and audiorecord(1).
`AUDIODEVICE`
  The name of the audio device to be used by audioplay(1) and audiorecord(1).
`BLOCKSIZE`
  The size of the block units used by several commands, most notably df(1), du(1) and ls(1). `BLOCKSIZE` may be specified in units of a byte by specifying a number, in units of a kilobyte by specifying a number followed by ‘`K`’ or ‘`k`’, in units of a megabyte by specifying a number followed by ‘`M`’ or ‘`m`’ and in units of a gigabyte by specifying a number followed by ‘`G`’ or ‘`g`’. Sizes less than 512 bytes or greater than a gigabyte are ignored.
`EDITRC`
  Gives the path name of the file used by editline(7) when command line editing is enabled in various programs. See editrc(5) for information on the format of the file.
`EXINIT`
  A startup list of commands read by ex(1) and vi(1).
`HOME`
  A user's login directory, set by login(1) from the password file passwd(5).
`LANG`
  Default for all NLS categories. Only used if `LC_ALL` or the environment variable for a particular NLS category is not provided (`LC_COLLATE`, `LC_CTYPE`, `LC_MESSAGES`, `LC_MONETARY`, `LC_NUMERIC`, or `LC_TIME`).
`LC_ALL`
  Override for all NLS categories. If set, overrides the values of `LC_COLLATE`, `LC_CTYPE`, `LC_MESSAGES`, `LC_MONETARY`, `LC_NUMERIC`, and `LC_TIME`.
`LC_COLLATE`
  NLS string-collation order information.
`LC_CTYPE`
  NLS character classification, case conversion, and other character attributes.
`LC_MESSAGES`
  NLS format for affirmative and negative responses.
`LC_MONETARY`
  NLS rules and symbols for formatting monetary numeric information.
`LC_NUMERIC`
  NLS rules and symbols for formatting nonmonetary numeric information.
`LC_TIME`
  NLS rules and symbols for formatting time and date information.
`LIBC_DIAGASSERT`
  Control how the `_DIAGASSERT`() macro (from `<assert.h>`) behaves once the assertion is raised. Refer to _DIAGASSERT(3) for more information.
`LOGNAME`
  The login name of the user.
`MALLOC_OPTIONS`
  Control the behaviour of the `malloc`() function. Refer to jemalloc(3) for more information.
`MIXERDEVICE`
  The name of the audio mixer device to be used by mixerctl(1).
`PAGER`
  The program used for paginating the output of several commands such as man(1). If null or not set, the standard pagination program more(1) will be used.
`PATH`
  The sequence of directories, separated by colons, searched by csh(1), sh(1), system(3), execvp(3), etc, when looking for an executable file. `PATH` is set to

  `/usr/bin:/bin:/usr/pkg/bin:/usr/local/bin`

  initially by login(1).

`PRINTER`
  The name of the default printer to be used by lpr(1), lpq(1), and lprm(1).
`RCMD_CMD`
  When using the rcmd(3) function, this variable is used as the program to run instead of rcmd(1).
`SHELL`
  The full pathname of the user's login shell.
`TERM`
  The kind of terminal for which output is to be prepared. This information is used by commands, such as nroff(1) which may exploit special terminal capabilities. See /usr/share/misc/terminfo (terminfo(5)) for a list of terminal types.
`TERMCAP`
  The string describing the terminal in `TERM`, or, if it begins with a ‘`/`’, the name of the termcap file. This is only checked if `TERMINFO` is not set.
`TERMINFO`
  The string describing the terminal in `TERM`, or, if it begins with a ‘`/`’, the name of the terminfo file.
`TIMEFORMAT`
  A strftime(3) format string that may be used by programs such as dump(8) for formatting timestamps.
`TMPDIR`
  The directory in which to store temporary files. Most applications use either /tmp or /var/tmp. Setting this variable will make them use another directory.
`TZ`
  The timezone to use when displaying dates. The normal format is a pathname relative to /usr/share/zoneinfo. For example, the command

  `env TZ=US/Pacific date`

  displays the current time in California. See tzset(3) for more information.

`USER`
  The login name of the user. It is recommended that portable applications use `LOGNAME` instead.

Further names may be placed in the environment by the `export` command and name=value arguments in sh(1), or by the `setenv` command if you use csh(1). It is unwise to change certain sh(1) variables that are frequently exported by .profile files, such as `MAIL`, `PS1`, `PS2`, and `IFS`, unless you know what you are doing.

# SEE ALSO

audioctl(1), audioplay(1), audiorecord(1), csh(1), ex(1), login(1), man(1), more(1), sh(1), execve(2), _DIAGASSERT(3), execle(3), jemalloc(3), rcmd(3), system(3), termcap(3), terminfo(3), audio(4), terminfo(5), nls(7), dump(8)

# HISTORY

The `environ` manual page appeared in 4.2BSD.

January 21, 2011 | NetBSD 10.1