不要在多个 bash 脚本中显示 pushd/popd 堆栈(安静的 pushd/popd)

每次使用 pushd 或 popd 时,它都会将堆栈打印到标准输出?

我不想每次都做 pushd > /dev/null,因为我有很多脚本相互呼叫。

也许一个漂亮的覆盖可以做到这一点,但是我只需要在我的脚本中覆盖这些内置函数,然后恢复正确的行为。

58646 次浏览

你可以加上

pushd () {
command pushd "$@" > /dev/null
}


popd () {
command popd "$@" > /dev/null
}

到每个脚本的顶部。这可能是解决你的问题所需要的最小工作量。

在您的. profile 文件(不管在您的系统中叫什么)中添加:

pushd () {
command pushd "$@" > /dev/null
}


popd () {
command popd "$@" > /dev/null
}


export pushd popd

在 zsh 你可以 setopt PUSHDSILENT。把这个在你的 ~/.zshrc