![Bash 'cd' with cdable_vars:如何抑制 CWD 回显?](https://linux22.com/image/106293/Bash%20'cd'%20with%20cdable_vars%EF%BC%9A%E5%A6%82%E4%BD%95%E6%8A%91%E5%88%B6%20CWD%20%E5%9B%9E%E6%98%BE%EF%BC%9F.png)
shopt cdable_vars
我多年来一直使用 Bash选项。当我cd
到达需要解析的目的地时cdable_vars
,shell 会回显我的 CWD,然后将我返回到提示符。当我cd
到达一个目的地时不需要cdable_vars
查找(即正确的、完全拼写的子目录或绝对路径),shell 不会回显我的 CWD。
这是正常的(未记录的?)行为吗cdable_vars
?
我依稀记得曾经激活过此行为,因为我喜欢被提醒我已导航到 cdable_var。现在我不想要它,但我不知道如何将其关闭。
我使用cd
内置函数(无函数或别名)。
我确实使用了提示命令挂钩,但运行 withset -x
显示cd
命令和回显都发生在提示命令运行之前。
还有其他地方可以看吗?
答案1
我用以下丑陋的黑客来处理这个问题:
$ type -a cd
cd is aliased to `cd $1 >/dev/null'
cd is a shell builtin
换句话说,将此行添加到您的~/.bashrc
:
alias cd='cd >/dev/null'