NAME
env —
set and print environment
SYNOPSIS
env |
[-0i] [-C
dir] [-u
name]
[--]
[name=value ...]
[--]
[utility [argument ...]] |
DESCRIPTION
env executes
utility, with the given
arguments, after modifying the environment as
specified on the command line. Each name=value option
specifies an environment variable, name, with a value
of value which may be empty, that is to replace an
existing environment variable with the same name, or
otherwise is to be added to the environment.
The ‘-i’ option causes
env to completely ignore the environment it
inherits.
The ‘-C
dir’ option causes the working directory to be
changed to dir, and the environment variable
PWD to be removed from the environment.
The ‘-u
name’ option causes removal of the
name environment variable if it is in the environment.
This is similar to the unset command in
sh(1). The
value for name must not include the
‘=’ character.
To allow for either a name to be added to
the environment, or the utility's name (if no
environment additions are present), to begin with a minus sign
(‘-’) the first
“--” argument
is required. To allow for utility's name to contain an
equals character (‘=’) (anywhere in its word) the second
“--” is
required. If there are no name=value arguments given,
then to allow for utility to contain an equals
character, both
“--” arguments
are required. The first ends the options, the second ends the (in this case
empty) environment variable additions.
If no utility is specified,
env prints out the names and values of the variables
in the environment. Each name=value pair is separated
by a new line unless -0 is specified, in which case
name/value pairs are separated by a nul character (‘\0’). The
-0 option is ignored if a
utility is given.
EXIT STATUS
If a utility is specified, can be located,
and successfully invoked, the exit status of env is
the exit status of the utility. See its documentation
for the possible values and interpretations.
Otherwise env exits with one of the
following values:
- 0
- No utility was specified, and
envhas successfully written the contents of the (possibly modified) environment to standard output. - 125
envwas given an invalid option, a requested operation failed, or some other error occurred.- 126
- utility was found, but could not be invoked.
- 127
- utility could not be found.
Whenever env exits with a non-zero status,
without having invoked a utility, it writes a message
to the standard error stream identifying itself, and the reason for the
non-zero exit. This can help distinguish cases where
env exits because of a problem, from when
utility does so. The case of a zero exit status is
simpler; if a utility was given on the command line,
the zero status is from that utility, otherwise it is from
env.
COMPATIBILITY
The historic - option has been deprecated
but is still supported in this implementation.
The -C, -u and
-0 options are non-standard extensions.
SEE ALSO
STANDARDS
The env utility conforms to
IEEE Std 1003.2-1992 (“POSIX.2”).
HISTORY
The env command appeared in
4.4BSD.
The -u and -0
options first appeared in NetBSD 10, after earlier
appearing in other systems.
The -C option first appeared in
NetBSD 10.1.