xref: /dragonfly/usr.bin/printenv/printenv.1 (revision 0ca59c34)
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.\"
33.Dd June 6, 1993
34.Dt PRINTENV 1
35.Os
36.Sh NAME
37.Nm printenv ,
38.Nm env
39.Nd print out the environment, set and print environment
40.Sh SYNOPSIS
41.Nm
42.Op Ar name
43.Nm env
44.Op Fl
45.Op Fl i
46.Op Ar name Ns = Ns Ar value ...
47.Op Ar utility Oo Ar argument ... Oc
48.Sh DESCRIPTION
49The
50.Nm
51utility prints out the names and values of the variables in the environment,
52with one name/value pair per line.
53If
54.Ar name
55is specified, only
56its value is printed.
57.Pp
58Some shells may provide a builtin
59.Nm
60command which is similar or identical to this utility.
61Consult the
62.Xr builtin 1
63manual page.
64.Pp
65The
66.Nm env
67utility executes
68.Ar utility
69after modifying the environment as
70specified on the command line.
71The option
72.Ar name Ns = Ns Ar value
73specifies
74an environment variable,
75.Ar name ,
76with a value of
77.Ar value .
78.Pp
79The options are as follows:
80.Bl -tag -width indent
81.It Fl i
82Execute the
83.Ar utility
84with only those environment values specified.
85The environment inherited
86by
87.Nm env
88is ignored completely.
89.It Fl
90Identical to the
91.Fl i
92option, available for backward compatibility.
93.El
94.Pp
95If no utility is specified,
96.Nm env
97prints out the names and values
98of the variables in the environment, with one name/value pair per line.
99.Pp
100The
101.Nm env
102utility is sometimes useful with the
103.Dq Li #!
104construct (see
105.Xr execve 2 ) .
106The only difference between
107.Dq Li #!/usr/local/bin/foo
108and
109.Dq Li "#!/usr/bin/env\ /usr/local/bin/foo"
110is that the latter works even if
111.Pa /usr/local/bin/foo
112is itself interpreted.
113Using
114.Nm env
115this way also allows one to reference
116.Pa foo
117without the path,
118as well as set up the environment as desired.
119.Sh EXIT STATUS
120.Ex -std printenv
121.Pp
122.Ex -std env
123An exit status of 126 indicates
124.Ar utility
125was found, but could not be executed.
126An exit status of 127 indicates
127.Ar utility
128could not be found.
129.Sh SEE ALSO
130.Xr csh 1 ,
131.Xr sh 1 ,
132.Xr execvp 3 ,
133.Xr environ 7
134.Sh STANDARDS
135The
136.Nm env
137utility conforms to
138.St -p1003.1-2001 .
139.Sh HISTORY
140The
141.Nm
142command appeared in
143.Bx 3.0 .
144.Sh BUGS
145The
146.Nm env
147utility doesn't handle utility arguments with equal (``='') signs in their
148names, for obvious reasons.
149