不要在几个bash脚本中显示pushd / popd堆栈(quiet pushd / popd)

时间:2014-08-13 13:59:40

标签: bash output built-in

每次我使用pushd或popd时,它都会将堆栈打印到标准输出。怎么不这样做?

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

也许一个好的覆盖会做到这一点,但我只需要在我的脚本中覆盖这些内置,然后恢复正确的行为。

3 个答案:

答案 0 :(得分:101)

你可以添加

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

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

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

答案 1 :(得分:3)

在.profile文件中(系统中调用它)添加:

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

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

export pushd popd

答案 2 :(得分:1)

在zsh中,您可以setopt PUSHDSILENT。将其放入您的~/.zshrc