使用时popd
,如何将当前目录压入堆栈?
答案1
$ pwd; pushd /tmp; pwd; popd; pwd
/home/users/foo
/tmp ~
/tmp
~
/home/users/foo
Bash 会保存你访问过的目录的历史记录,你只需要询问即可。 Bash 将历史记录存储在堆栈中,并使用命令 pushd 和 popd 来管理堆栈。
如果您不需要多级目录历史记录,您还可以执行以下操作:
cd foo
# do your stuff in foo
cd -
pushd
与/相比popd
,这有一个缺点,如果cd foo
失败,您最终会进入错误的目录cd -
。
(可能cd -
在脚本之外更方便。“让我们回到我刚才所在的地方。”)
看使用pushd和popd操作目录堆栈寻求更多帮助。
答案2
应该只是
[$]> pushd .
不?
答案3
pushd -n $(pwd)
将当前目录添加$(pwd)
到堆栈中而不更改目录。
来自help pushd
bash:
选项:
-n
将目录添加到堆栈时抑制目录的正常更改,因此仅操作堆栈。