1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
|
.\" $OpenBSD: cd.1,v 1.13 2004/07/21 13:33:12 jaredy Exp $
.\" $NetBSD: cd.1,v 1.2 1994/11/30 08:34:59 jtc Exp $
.\"
.\" Copyright (c) 1980, 1990, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" This code is derived from software contributed to Berkeley by
.\" the Institute of Electrical and Electronics Engineers, Inc.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)cd.1 8.1 (Berkeley) 6/5/93
.\"
.Dd June 5, 1993
.Dt CD 1
.Os
.Sh NAME
.Nm cd
.Nd change working directory
.Sh SYNOPSIS
.Nm cd
.Op Ar directory
.Sh DESCRIPTION
.Ar directory
is an absolute or relative pathname which becomes the new working directory.
The interpretation of a relative pathname by
.Nm
depends on the
.Ev CDPATH
environment variable (see below).
.Pp
Note that
.Nm
is implemented as a built-in shell command and not as a stand-alone program.
Because each process has its own working directory, a separate
.Nm
utility would have no effect (it would change the directory and exit,
leaving the working directory in the parent unchanged).
Different shells may implement
.Nm
with features different from those described here.
Please consult the manual for your specific shell.
.Pp
The
.Nm
command exits 0 on success or >0 if an error occurred.
.Sh ENVIRONMENT
The following environment variables affect the execution of
.Nm cd :
.Bl -tag -width indent
.It Ev CDPATH
If the
.Ar directory
operand does not begin with a slash
.Pq Sq /
character, and the first component is not dot
.Pq Ql \&.
or dot-dot
.Pq Ql \&.\&. ,
.Nm
searches for the directory relative to each colon-separated directory named
in the
.Ev CDPATH
variable, in the order listed.
The new working directory is set to the first matching directory found.
An empty string in place of a directory pathname represents the current
directory.
If the new working directory was derived from
.Ev CDPATH ,
it will be printed to the standard output.
See
.Xr sh 1
for details.
Users of
.Xr csh 1
use the variable
.Ev cdpath
instead.
.It Ev HOME
If
.Nm
is invoked without arguments and the
.Ev HOME
environment variable exists and contains a directory name, that directory
becomes the new working directory.
.El
.Pp
See
.Xr environ 7
for more information on environment variables.
.Sh SEE ALSO
.Xr csh 1 ,
.Xr pwd 1 ,
.Xr sh 1 ,
.Xr chdir 2
.Sh STANDARDS
The
.Nm
command is expected to be
.St -p1003.2
compatible.
|