使用popd时,如何将当前目录压入堆栈?

使用popd时,如何将当前目录压入堆栈?

使用时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 pushdbash:

选项:

-n 将目录添加到堆栈时抑制目录的正常更改,因此仅操作堆栈。

相关内容