NetBSD/usr.bin/env/env.1
2020-02-08 11:10:08 +00:00

169 lines
4.0 KiB
Groff

.\" $NetBSD: env.1,v 1.15 2020/02/08 11:10:08 leot Exp $
.\"
.\" Copyright (c) 1980, 1990 The Regents of the University of California.
.\" All rights reserved.
.\"
.\" This code is derived from software contributed to Berkeley by
.\" the Institute of Electrical and Electronics Engineers, Inc.
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" from: @(#)printenv.1 6.7 (Berkeley) 7/28/91
.\" $NetBSD: env.1,v 1.15 2020/02/08 11:10:08 leot Exp $
.\"
.Dd February 8, 2020
.Dt ENV 1
.Os
.Sh NAME
.Nm env
.Nd set and print environment
.Sh SYNOPSIS
.Nm
.Op Fl 0i
.Op Fl u Ar name
.Op Ar name=value ...
.Oo
.Ar utility
.Op argument ...
.Oc
.Sh DESCRIPTION
.Nm
executes
.Ar utility
after modifying the environment as
specified on the command line.
The option
.Ar name=value
specifies
an environmental variable,
.Ar name ,
with a value of
.Ar value .
The option
.Sq Fl i
causes
.Nm
to completely ignore the environment
it inherits.
.Pp
The option
.Sq Fl u Ar name
causes removal of the
.Ar name
environment variable if it is in the environment.
This is similar to the
.Ic unset
command in
.Xr sh 1 .
The value for
.Ar name
must not include the
.Ql =
character.
.Pp
If no
.Ar utility
is specified,
.Nm
prints out the names and values of the variables in the environment.
Each
.Ar name=value
pair is separated by a new line unless
.Fl 0
is specified, in which case name/value pairs are separated by NUL.
Both
.Fl 0
and
.Ar utility
must not be specified together.
.Sh EXIT STATUS
.Nm
exits with one of the following values:
.Bl -tag -width Ds
.It 0
.Ar utility
was invoked and completed successfully.
In this case the exit code is returned by the utility itself, not
.Nm .
If no utility was specified, then
.Nm
completed successfully and returned the exit code itself.
.It 1
An invalid command line option was passed to
.Nm .
.It 1\-125
.Ar utility
was invoked, but failed in some way;
see its manual page for more information.
In this case the exit code is returned by the utility itself, not
.Nm .
.It 125
.Ar utility
was specified together with the
.Fl 0
option.
.It 126
.Ar utility
was found, but could not be invoked.
.It 127
.Ar utility
could not be found.
.El
.Sh COMPATIBILITY
The historic
.Fl
option has been deprecated but is still supported in this implementation.
.Pp
The
.Fl u
and
.Fl 0
options are non-standard extensions.
.Sh SEE ALSO
.Xr execvp 3 ,
.Xr environ 7
.Sh STANDARDS
The
.Nm
utility conforms to
.St -p1003.2-92 .
.Sh HISTORY
The
.Nm
command appeared in
.Bx 4.4 .
.Pp
The
.Fl u
and
.Fl 0
options first appeared in
.Nx 10 .
.Sh BUGS
.Nm
doesn't handle commands with equal
.Pq Dq =
signs in their
names, for obvious reasons.