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