![在符号链接目录中,如何用 Tab 键完成目录?](https://linux22.com/image/820185/%E5%9C%A8%E7%AC%A6%E5%8F%B7%E9%93%BE%E6%8E%A5%E7%9B%AE%E5%BD%95%E4%B8%AD%EF%BC%8C%E5%A6%82%E4%BD%95%E7%94%A8%20Tab%20%E9%94%AE%E5%AE%8C%E6%88%90%E7%9B%AE%E5%BD%95%EF%BC%9F.png)
我有一个符号链接:
/path/to/foo -> /path/to/bar/foo
当/path/to/foo
我可能想要 cd 到/path/to/bar/foo
:
$ cd ../
Tab
然后没有自动完成。不过,我仍然可以cd
正常输入目录“bar”。
这是为什么?我可以使用什么设置或技巧来实现 tab 补全功能?
答案1
这是 bash-completion(第三方项目,与 bash 本身无关)中的一个错误。在 Ubuntu 中默认/etc/bash_completion
使用~/.bashrc
,在数千行代码(其中大部分代码您可能永远都不需要)中,有一个cd
内置的补全函数不能正确处理符号链接目录。如果您禁用内置的补全功能cd
,您的 tab 补全cd
应该会更符合您的预期。
complete -r cd