diff --git a/usr.bin/env/Makefile b/usr.bin/env/Makefile index b3f7989bebee..7c74937f61f8 100644 --- a/usr.bin/env/Makefile +++ b/usr.bin/env/Makefile @@ -2,6 +2,5 @@ # $FreeBSD$ PROG= env -NOMAN= noman .include diff --git a/usr.bin/env/env.1 b/usr.bin/env/env.1 new file mode 100644 index 000000000000..91736ceb1425 --- /dev/null +++ b/usr.bin/env/env.1 @@ -0,0 +1,144 @@ +.\" Copyright (c) 1980, 1990, 1993 +.\" 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. All advertising materials mentioning features or use of this software +.\" must display the following acknowledgement: +.\" This product includes software developed by the University of +.\" California, Berkeley and its contributors. +.\" 4. 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 8.1 (Berkeley) 6/6/93 +.\" From FreeBSD: src/usr.bin/printenv/printenv.1,v 1.17 2002/11/26 17:33:35 ru Exp +.\" $FreeBSD$ +.\" +.Dd May 12, 2003 +.Dt ENV 1 +.Os +.Sh NAME +.Nm env +.Nd set and print environment +.Sh SYNOPSIS +.Nm +.Op Fl i +.Op Ar name Ns = Ns Ar value ... +.Op Ar utility Op Ar argument ... +.Sh DESCRIPTION +The +.Nm +utility executes +.Ar utility +after modifying the environment as +specified on the command line. +The option +.Ar name Ns = Ns Ar value +specifies +an environment variable, +.Ar name , +with a value of +.Ar value . +.Pp +The options are as follows: +.Bl -tag -width indent +.It Fl i +Execute the +.Ar utility +with only those environment values specified. +The environment inherited +by +.Nm env +is ignored completely. +.El +.Pp +If no utility is specified, +.Nm env +prints out the names and values +of the variables in the environment, with one name/value pair per line. +.Pp +The +.Nm env +utility is sometimes useful with the +.Dq Li #! +construct (see +.Xr execve 2 ) . +The only difference between +.Dq Li #!/usr/local/bin/foo +and +.Dq Li "#!/usr/bin/env\ /usr/local/bin/foo" +is that the latter works even if +.Pa /usr/local/bin/foo +is itself interpreted. +Using +.Nm env +this way also allows one to reference +.Pa foo +without the path, +as well as set up the environment as desired. +.Sh ENVIRONMENT +The +.Nm env +utility uses the +.Ev PATH +environment variable is used to locate the requested +.Ar utility +if the name contains no +.Ql / +characters. +.Sh DIAGNOSTICS +.Ex -std env +An exit status of 126 indicates +.Ar utility +was found, but could not be executed. +An exit status of 127 indicates +.Ar utility +could not be found. +.Sh COMPATIBILITY +The +.Nm env +utility accepts the +.Fl +option as a synonym for +.Fl i . +.Sh SEE ALSO +.Xr printenv 1 , +.Xr sh 1 , +.Xr execvp 3 , +.Xr environ 7 +.Sh STANDARDS +The +.Nm env +utility conforms to +.St -p1003.1-2001 . +.\".Sh HISTORY +.\"The +.\".Nm +.\"command appeared in +.\".Bx 3.0 . +.Sh BUGS +The +.Nm env +utility doesn't handle utility arguments with equal (``='') signs in their +names, for obvious reasons. diff --git a/usr.bin/printenv/Makefile b/usr.bin/printenv/Makefile index 67cbf1bcb091..bcb5952eb9ee 100644 --- a/usr.bin/printenv/Makefile +++ b/usr.bin/printenv/Makefile @@ -2,6 +2,5 @@ # $FreeBSD$ PROG= printenv -MLINKS= printenv.1 env.1 .include diff --git a/usr.bin/printenv/printenv.1 b/usr.bin/printenv/printenv.1 index 35af7df9e6c4..7c058780c6ad 100644 --- a/usr.bin/printenv/printenv.1 +++ b/usr.bin/printenv/printenv.1 @@ -34,19 +34,15 @@ .\" @(#)printenv.1 8.1 (Berkeley) 6/6/93 .\" $FreeBSD$ .\" -.Dd June 6, 1993 +.Dd May 12, 2003 .Dt PRINTENV 1 .Os .Sh NAME -.Nm printenv , env -.Nd print out the environment, set and print environment +.Nm printenv +.Nd print out the environment .Sh SYNOPSIS .Nm .Op Ar name -.Nm env -.Op Fl i -.Op Ar name Ns = Ns Ar value ... -.Op Ar utility Op Ar argument ... .Sh DESCRIPTION The .Nm @@ -63,101 +59,30 @@ command which is similar or identical to this utility. Consult the .Xr builtin 1 manual page. -.Pp -The -.Nm env -utility executes -.Ar utility -after modifying the environment as -specified on the command line. -The option -.Ar name Ns = Ns Ar value -specifies -an environment variable, -.Ar name , -with a value of -.Ar value . -.Pp -The options are as follows: -.Bl -tag -width indent -.It Fl i -Execute the -.Ar utility -with only those environment values specified. -The environment inherited -by -.Nm env -is ignored completely. -.El -.Pp -If no utility is specified, -.Nm env -prints out the names and values -of the variables in the environment, with one name/value pair per line. -.Pp -The -.Nm env -utility is sometimes useful with the -.Dq Li #! -construct (see -.Xr execve 2 ) . -The only difference between -.Dq Li #!/usr/local/bin/foo -and -.Dq Li "#!/usr/bin/env\ /usr/local/bin/foo" -is that the latter works even if -.Pa /usr/local/bin/foo -is itself interpreted. -Using -.Nm env -this way also allows one to reference -.Pa foo -without the path, -as well as set up the environment as desired. -.Sh ENVIRONMENT -The -.Nm env -utility uses the -.Ev PATH -environment variable is used to locate the requested -.Ar utility -if the name contains no -.Ql / -characters. .Sh DIAGNOSTICS .Ex -std printenv -.Pp -.Ex -std env -An exit status of 126 indicates -.Ar utility -was found, but could not be executed. -An exit status of 127 indicates -.Ar utility -could not be found. -.Sh COMPATIBILITY -The -.Nm env -utility accepts the -.Fl -option as a synonym for -.Fl i . .Sh SEE ALSO .Xr csh 1 , +.Xr env 1 , .Xr sh 1 , -.Xr execvp 3 , .Xr environ 7 .Sh STANDARDS The -.Nm env -utility conforms to -.St -p1003.1-2001 . +.Nm +utility is provided for compatibility with earlier +.Bx +and +.Fx +releases and is not specified by any standards. +The functionality of +.Nm +can be duplicated with the +.Xr echo 1 +and +.Xr env 1 +utilities. .Sh HISTORY The .Nm command appeared in .Bx 3.0 . -.Sh BUGS -The -.Nm env -utility doesn't handle utility arguments with equal (``='') signs in their -names, for obvious reasons.