如何在符号链接目录中完成目录?

ber*_*kes 3 bash auto-completion symbolic-link

我有一个符号链接:

/path/to/foo -> /path/to/bar/foo
Run Code Online (Sandbox Code Playgroud)

/path/to/foo我可能想要 cd 到/path/to/bar/foo

$ cd ../ Tab

然后什么都不会自动完成。不过,我仍然cd可以通过在目录“bar”中输入来正常工作。

这是为什么?是否有我可以应用的设置或技巧来完成该选项卡?

gei*_*rha 6

这是 bash-completion(第三方项目,不隶属于 bash 本身)中的一个错误。/etc/bash_completion在源~/.bashrc默认情况下,Ubuntu和跻身上千行的代码(其中大部分你也许并不需要),是为完成函数cd不正确处理符号链接目录内置。如果您禁用cd内置函数的完成,您的选项卡完成cd应该更像您期望的那样工作。

complete -r cd
Run Code Online (Sandbox Code Playgroud)