Updated: 2025/Nov/16

Please read Privacy Policy. It's for your privacy.


ENV(1)                      General Commands Manual                     ENV(1)

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 env has successfully written the
             contents of the (possibly modified) environment to standard
             output.

     125     env was 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
     chdir(2), execvp(3), environ(7)

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.

NetBSD 11.99                   February 9, 2025                   NetBSD 11.99