答案1
目录堆栈不会永久存储在任何地方。 Shell 只是将其保存在进程内存中的数组中DIRSTACK
(对用户修改有限制)。严格来说,它甚至不是一个堆栈——bash 和 ksh 也允许您按指定的计数左右旋转它。
在 Bash 中,该dirs
命令以各种方式清除或显示堆栈、popd
删除任何指定的目录、pushd
添加目录或旋转堆栈以更改为已存储的任何目录。
Pushd 堆栈本身并未“清除”。 Pushd 是一个内置的 shell,而不是外部命令(外部命令无法更改 shell 自身的环境)。每个 shell 都会保留自己的推送数据,当该 shell 进程消失时,内容就会被丢弃。