UNPKG

1.74 kBMarkdownView Raw
1popd
2===
3
4从目录堆栈中删除目录。
5
6## 概要
7
8```shell
9popd [-n] [+N | -N]
10```
11
12## 主要用途
13
14- 从目录堆栈中删除目录,如果是顶部目录被删除,那么当前工作目录会切换到新的顶部目录。
15
16- 没有参数时,删除目录堆栈顶部。
17
18## 选项
19
20```shell
21-n 抑制删除目录引起的当前工作目录变化。
22```
23
24## 参数
25
26+N(可选):不带参数执行`dirs`命令显示的列表中,左起的第N个目录将被删除。(从0开始计数)
27
28-N(可选):不带参数执行`dirs`命令显示的列表中,右起的第N个目录将被删除。(从0开始计数)
29
30
31## 返回值
32
33返回成功除非提供了非法选项或执行出现错误。
34
35## 例子
36
37```shell
38# 添加目录到堆栈,当前工作目录不变。
39[user2@pc ~]$ dirs
40~
41[user2@pc ~]$ pushd -n ~/Desktop
42~ ~/Desktop
43[user2@pc ~]$ pushd -n ~/Pictures
44~ ~/Pictures ~/Desktop
45[user2@pc ~]$ pushd -n ~/bin
46~ ~/bin ~/Pictures ~/Desktop
47
48# 从目录堆栈中删除目录,删除顶部目录时会改变当前工作目录:
49[user2@pc ~]$ popd -2
50~ ~/Pictures ~/Desktop
51[user2@pc ~]$ popd +1
52~ ~/Desktop
53[user2@pc ~]$ popd
54~/Desktop
55[user2@pc Desktop]$
56```
57
58```shell
59# 从目录堆栈中删除目录,删除顶部目录时不会改变当前工作目录:
60[user2@pc ~]$ dirs
61~
62[user2@pc ~]$ pushd -n ~/Desktop
63~ ~/Desktop
64[user2@pc ~]$ popd -n
65~
66[user2@pc ~]$
67```
68
69### 注意
70
711. `bash`的目录堆栈命令包括`dirs popd pushd`
722. 当前目录始终是目录堆栈的顶部。
733. 该命令是bash内建命令,相关的帮助信息请查看`help`命令。
74
75### 参考链接
76
77- [popd、pushd命令'-n'选项的行为](https://superuser.com/questions/784450/popd-and-pushd-behavior-with-n-option)
78
79