![不显示“cd -”的输出](https://linux22.com/image/1572145/%E4%B8%8D%E6%98%BE%E7%A4%BA%E2%80%9Ccd%20-%E2%80%9D%E7%9A%84%E8%BE%93%E5%87%BA.png)
在 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
(上面的提示首先打印当前目录)