1 | popd
|
2 | ===
|
3 |
|
4 | 从目录堆栈中删除目录。
|
5 |
|
6 | ## 概要
|
7 |
|
8 | ```shell
|
9 | popd [-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 |
|
71 | 1. `bash`的目录堆栈命令包括`dirs popd pushd`。
|
72 | 2. 当前目录始终是目录堆栈的顶部。
|
73 | 3. 该命令是bash内建命令,相关的帮助信息请查看`help`命令。
|
74 |
|
75 | ### 参考链接
|
76 |
|
77 | - [popd、pushd命令'-n'选项的行为](https://superuser.com/questions/784450/popd-and-pushd-behavior-with-n-option)
|
78 |
|
79 |
|