xref: /dragonfly/usr.bin/printenv/printenv.1 (revision e8c03636)
1.\" Copyright (c) 1980, 1990, 1993
2.\"	The Regents of the University of California.  All rights reserved.
3.\"
4.\" This code is derived from software contributed to Berkeley by
5.\" the Institute of Electrical and Electronics Engineers, Inc.
6.\" Redistribution and use in source and binary forms, with or without
7.\" modification, are permitted provided that the following conditions
8.\" are met:
9.\" 1. Redistributions of source code must retain the above copyright
10.\"    notice, this list of conditions and the following disclaimer.
11.\" 2. Redistributions in binary form must reproduce the above copyright
12.\"    notice, this list of conditions and the following disclaimer in the
13.\"    documentation and/or other materials provided with the distribution.
14.\" 3. Neither the name of the University nor the names of its contributors
15.\"    may be used to endorse or promote products derived from this software
16.\"    without specific prior written permission.
17.\"
18.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
19.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
22.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
23.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
24.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
25.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
26.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
27.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
28.\" SUCH DAMAGE.
29.\"
30.\"	@(#)printenv.1	8.1 (Berkeley) 6/6/93
31.\" $FreeBSD: src/usr.bin/printenv/printenv.1,v 1.6.2.10 2002/06/26 08:25:30 tjr Exp $
32.\" $DragonFly: src/usr.bin/printenv/printenv.1,v 1.3 2005/08/05 22:35:11 swildner Exp $
33.\"
34.Dd June 6, 1993
35.Dt PRINTENV 1
36.Os
37.Sh NAME
38.Nm printenv ,
39.Nm env
40.Nd print out the environment, set and print environment
41.Sh SYNOPSIS
42.Nm
43.Op Ar name
44.Nm env
45.Op Fl
46.Op Fl i
47.Op Ar name Ns = Ns Ar value ...
48.Op Ar utility Oo Ar argument ... Oc
49.Sh DESCRIPTION
50The
51.Nm
52utility prints out the names and values of the variables in the environment,
53with one name/value pair per line.
54If
55.Ar name
56is specified, only
57its value is printed.
58.Pp
59Some shells may provide a builtin
60.Nm
61command which is similar or identical to this utility.
62Consult the
63.Xr builtin 1
64manual page.
65.Pp
66The
67.Nm env
68utility executes
69.Ar utility
70after modifying the environment as
71specified on the command line.
72The option
73.Ar name Ns = Ns Ar value
74specifies
75an environment variable,
76.Ar name  ,
77with a value of
78.Ar value  .
79.Pp
80The options are as follows:
81.Bl -tag -width indent
82.It Fl i
83Execute the
84.Ar utility
85with only those environment values specified.
86The environment inherited
87by
88.Nm env
89is ignored completely.
90.It Fl
91Identical to the
92.Fl i
93option, available for backward compatibility.
94.El
95.Pp
96If no utility is specified,
97.Nm env
98prints out the names and values
99of the variables in the environment, with one name/value pair per line.
100.Pp
101The
102.Nm env
103utility is sometimes useful with the
104.Dq Li #!
105construct (see
106.Xr execve 2 ) .
107The only difference between
108.Dq Li #!/usr/local/bin/foo
109and
110.Dq Li "#!/usr/bin/env\ /usr/local/bin/foo"
111is that the latter works even if
112.Pa /usr/local/bin/foo
113is itself interpreted.
114Using
115.Nm env
116this way also allows one to reference
117.Pa foo
118without the path,
119as well as set up the environment as desired.
120.Sh EXIT STATUS
121.Ex -std printenv
122.Pp
123.Ex -std env
124An exit status of 126 indicates
125.Ar utility
126was found, but could not be executed.
127An exit status of 127 indicates
128.Ar utility
129could not be found.
130.Sh SEE ALSO
131.Xr csh 1 ,
132.Xr sh 1 ,
133.Xr execvp 3 ,
134.Xr environ 7
135.Sh STANDARDS
136The
137.Nm env
138utility conforms to
139.St -p1003.1-2001 .
140.Sh HISTORY
141The
142.Nm
143command appeared in
144.Bx 3.0 .
145.Sh BUGS
146The
147.Nm env
148utility doesn't handle utility arguments with equal (``='') signs in their
149names, for obvious reasons.
150