Use new ID scheme.
Fix env(1)'s exit status to conform with SUSv3. Submitted by: Tim Robbins <tim@robbins.dropbear.id.au> MFC after: 2 weeks
This commit is contained in:
parent
d4fb4b6c57
commit
630fb4534b
12
usr.bin/env/env.c
vendored
12
usr.bin/env/env.c
vendored
@ -31,17 +31,23 @@
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#if 0
|
||||
#ifndef lint
|
||||
static const char copyright[] =
|
||||
static char copyright[] =
|
||||
"@(#) Copyright (c) 1988, 1993, 1994\n\
|
||||
The Regents of the University of California. All rights reserved.\n";
|
||||
#endif /* not lint */
|
||||
|
||||
#ifndef lint
|
||||
static const char sccsid[] = "@(#)env.c 8.3 (Berkeley) 4/2/94";
|
||||
static char sccsid[] = "@(#)env.c 8.3 (Berkeley) 4/2/94";
|
||||
#endif /* not lint */
|
||||
#endif
|
||||
|
||||
#include <sys/cdefs.h>
|
||||
__FBSDID("$FreeBSD$");
|
||||
|
||||
#include <err.h>
|
||||
#include <errno.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
@ -75,7 +81,7 @@ main(argc, argv)
|
||||
(void)setenv(*argv, ++p, 1);
|
||||
if (*argv) {
|
||||
execvp(*argv, argv);
|
||||
err(1, "%s", *argv);
|
||||
err(errno == ENOENT ? 127 : 126, "%s", *argv);
|
||||
}
|
||||
for (ep = environ; *ep; ep++)
|
||||
(void)printf("%s\n", *ep);
|
||||
|
@ -57,12 +57,6 @@ If
|
||||
is specified, only
|
||||
its value is printed.
|
||||
.Pp
|
||||
If a
|
||||
.Ar name
|
||||
is specified and it is not defined in the environment,
|
||||
.Nm
|
||||
returns exit status 1, else it returns status 0.
|
||||
.Pp
|
||||
Some shells may provide a builtin
|
||||
.Nm
|
||||
command which is similar or identical to this utility.
|
||||
@ -122,11 +116,26 @@ this way also allows one to reference
|
||||
.Pa foo
|
||||
without the path,
|
||||
as well as set up the environment as desired.
|
||||
.Sh DIAGNOSTICS
|
||||
.Ex -std printenv
|
||||
.Pp
|
||||
.Ex -std env
|
||||
An exit status of 126 indicates
|
||||
.Ar command
|
||||
was found, but could not be executed.
|
||||
An exit status of 127 indicates
|
||||
.Ar command
|
||||
could not be found.
|
||||
.Sh SEE ALSO
|
||||
.Xr csh 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
|
||||
|
Loading…
Reference in New Issue
Block a user