【发布时间】:2014-10-06 22:23:17
【问题描述】:
每次我使用 pushd 或 popd 时,它都会将堆栈打印到标准输出。怎么不这样做?
我不想每次都做pushd > /dev/null,因为我有很多脚本互相调用。
也许一个不错的覆盖可以做到这一点,但我只需要在我的脚本中覆盖这些内置函数,然后恢复正确的行为。
【问题讨论】:
-
如果有人遇到这个问题想要让单个事件静音,您可以将
pushd和popd替换为cd和cd ~-。~-是一个 波浪号扩展,设置为 $OLDPWD。 -
@AgustínLado
cd -也可以。不确定哪个版本更兼容各种系统。 -
@ShipluMokaddim:没有波浪号,它会打印文件夹名称(至少在 WSL 上运行的 Ubuntu 18.04 上)。
-
如果您有一系列介于
cd some/path和cd -或cd "${return_wd}"或类似名称之间的命令,请考虑将它们之间的命令组合成一个函数并使用类似(cd some/path; your_commands_here)的子shell .返回到旧 PWD 的目录导航隐含在子 shell 的末尾。也适用于命令替换。