bash 脚本中的目录堆栈(pushd 和 popd)行为

Bea*_*754 2 bash shell-script pushd

如果我写得不好,pushd /etc但我没有完成它popd:脚本完成执行并且 Bash 终止后/etc,仍然会在pushd+popd目录 stack/in RAM中吗?bash

如果我关闭终端仿真器会话(这应该终止该终端仿真器会话的 shell 进程)而不手动清除它,那么pushd+目录堆栈是否会被清除(就像变量一样) ?popdbashpopd

Kus*_*nda 5

pushdpopd命令使用的目录堆栈bash是当前 shell 的本地目录堆栈。这意味着如果您不在popd脚本中使用,这不会影响脚本外部的目录堆栈。

如果关闭终端(因为 shell 终止),堆栈将被清空。

每当您启动新 shell 时,默认情况下目录堆栈也是空的bash