.\" $NetBSD: env.1,v 1.16 2024/10/28 11:30:37 kim 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.16 2024/10/28 11:30:37 kim Exp $ .\" .Dd October 28, 2024 .Dt ENV 1 .Os .Sh NAME .Nm env .Nd set and print environment .Sh SYNOPSIS .Nm .Op Fl 0i .Op Fl C Ar dir .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. Each .Ar name=value option specifies an environmental variable, .Ar name , with a value of .Ar value . The .Sq Fl i option causes .Nm to completely ignore the environment it inherits. .Pp The .Sq Fl C Ar dir option causes the working directory to be changed to .Ar dir . .Pp The .Sq Fl u Ar name option 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. The .Fl 0 option 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 C , u and .Fl 0 options are non-standard extensions. .Sh SEE ALSO .Xr chdir 2 , .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 . .Pp The .Fl C option first appeared in .Nx 10.1 . .Sh BUGS .Nm doesn't handle commands with equal .Pq Dq = signs in their names, for obvious reasons.