不显示“cd -”的输出

不显示“cd -”的输出

在 oh-my-zsh 中,执行cd -输出目标目录,这是多余的,因为我的 shell 提示符显示了相对工作目录。

我知道我可以这样做cd - > /dev/null,但每次我都必须输入。有没有一种快速简便的方法来实现这一点,包括带数字的方法(例如cd -2)?

我尝试设置setopt pushd_silent,但没有成功。

以下是 oh-my-zsh 使用的配置:https://github.com/robbyrussell/oh-my-zsh/blob/master/lib/directories.zsh

答案1

function cd {
  builtin cd "$@" > /dev/null 
}

我使用上面的代码成功了。不过我不确定是否有更好的方法。

答案2

显然别名也可以起作用,重定向 stdout 并保留 stderr:

~/Downloads$ alias cd
bash: alias: cd: not found
~/Downloads$ alias cd='cd >/dev/null'
~/Downloads$ cd ~/Videos
~/Videos$ cd -
~/Downloads$ cd fake
bash: cd: fake: No such file or directory

(上面的提示首先打印当前目录)

相关内容