pushd 和 popd
pushd 将一个目录压入目录栈,然后的工作就在目录里进行;而 popd 则表示将栈顶目录*出。看一个简单的例子,脚本代码:
[Bash shell] 纯文本查看 复制代码
#!/bin/sh
pwd
ls
pushd /usr/local/share/bochs/
ls
popd
ls
脚本运行输出:
$ sh test.sh
/home/beyes/shell
test.sh tmp
/usr/local/share/bochs ~/shell
BIOS-bochs-latest VGABIOS-lgpl-latest
~/shell
test.sh tmp
第 2 行,输出当前所在目录。
第 3 行,列出当前目录里的内容。
第 4 行,将 /usr/local/share/bochs 目录压栈。从这里起,我们就在这个目录里工作了。
第 5 行,列出/usr/local/share/bochs 里的内容。
第 6 行,执行 popd *出/usr/local/share/bochs 目录,当前目录重新变回/home/beyes/shell
第 7 行,从输出可以看出,确实回到了/home/beyes/shell 目录下。 |