102 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
			
		
		
	
	
			102 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
.TH ENV 1
 | 
						|
.SH NAME
 | 
						|
env \- set environment for command
 | 
						|
.SH SYNOPSIS
 | 
						|
.B env
 | 
						|
.RB [ \-ia ]
 | 
						|
.RI [ name\fB=\fIvalue "] ..."
 | 
						|
.RI [ utility
 | 
						|
.RI [ argument "...]]"
 | 
						|
.B printenv
 | 
						|
.RB [ \-ia ]
 | 
						|
.RI [ name\fB=\fIvalue "] ..."
 | 
						|
.RI [ utility
 | 
						|
.RI [ argument "...]]"
 | 
						|
.SH DESCRIPTION
 | 
						|
.B Env
 | 
						|
modifies its environment according to the
 | 
						|
.IB name = value
 | 
						|
arguments, and executes
 | 
						|
.I utility
 | 
						|
with the given arguments and the modified environment.
 | 
						|
.PP
 | 
						|
If no utility is specified then the modified environment is printed as
 | 
						|
.IB name = value
 | 
						|
strings, one per line.
 | 
						|
.PP
 | 
						|
.B printenv
 | 
						|
is identical to env in every way and is included for backward compatibility
 | 
						|
.SH OPTIONS
 | 
						|
.TP
 | 
						|
.B \-i
 | 
						|
Use exactly the environment specified by the arguments; the inherited
 | 
						|
environment is ignored.
 | 
						|
.TP
 | 
						|
.B \-a
 | 
						|
Specify all arguments for the utility, i.e. the first of the arguments is
 | 
						|
used as
 | 
						|
.BR "argv[0]" ,
 | 
						|
the program name.  Normally the program name is
 | 
						|
.I utility
 | 
						|
itself.
 | 
						|
.SH ENVIRONMENT
 | 
						|
.TP 8n
 | 
						|
.B PATH
 | 
						|
The path used to find utility.  It is as modified by
 | 
						|
.BR env ,
 | 
						|
i.e.
 | 
						|
.B not
 | 
						|
the inherited
 | 
						|
.BR PATH .
 | 
						|
.SH "SEE ALSO"
 | 
						|
.BR sh (1),
 | 
						|
.BR execvp (3),
 | 
						|
.BR environ (5).
 | 
						|
.SH DIAGNOSTICS
 | 
						|
The return code is
 | 
						|
.B 0
 | 
						|
after successfully printing the environment,
 | 
						|
.B 1
 | 
						|
on an error within
 | 
						|
.BR env ,
 | 
						|
.B 126
 | 
						|
if the
 | 
						|
.I utility
 | 
						|
could not be executed, or
 | 
						|
.B 127
 | 
						|
if
 | 
						|
.I utility
 | 
						|
could not be found.  Appropriate diagnostic messages are printed on standard
 | 
						|
error.
 | 
						|
If
 | 
						|
.I utility
 | 
						|
can be executed then it replaces
 | 
						|
.BR env ,
 | 
						|
so the return code is then the return code of
 | 
						|
.IR utility .
 | 
						|
.SH NOTES
 | 
						|
When run from the standard shell
 | 
						|
.B env
 | 
						|
is only useful with options or without arguments.  Otherwise the shell can
 | 
						|
do exactly what
 | 
						|
.B env
 | 
						|
can do, simply omit the word "env" on the command line.
 | 
						|
.PP
 | 
						|
One interesting use of
 | 
						|
.B env
 | 
						|
is with #! on the first line of a script to forge a PATH search for an
 | 
						|
interpreter.  For example:
 | 
						|
.PP
 | 
						|
.RS
 | 
						|
#!/usr/bin/env perl
 | 
						|
.RE
 | 
						|
.PP
 | 
						|
This will find the Perl interpreter if it is within the user's PATH.  Most
 | 
						|
UNIX-like systems have
 | 
						|
.B env
 | 
						|
in /usr/bin, but
 | 
						|
.B perl
 | 
						|
may be anywhere.
 | 
						|
.SH AUTHOR
 | 
						|
Kees J. Bot <kjb@cs.vu.nl>
 |