bash_completion 不起作用(对于某些命令)

bash_completion 不起作用(对于某些命令)

我新安装了 Debian Wheezy,我注意到bash_completion某些命令不起作用。例如,它适用于ping,但不适用于host(两者pinghost都应完成来自 的主机名/etc/hosts)。

此外,我注意到与以前版本的 Debian (Squeeze) 不同,bash 完成设置不再存储为单独的文件/etc/bash_completion.d,而是存储为/usr/share/bash-completion/bash_completion.看起来基础设施已经改变了。

如何bash_completionhost 命令工作?

答案1

我正在运行带有 bash-completion 版本 1.3 的 CentOS 5.6。在将我的 /etc/bash_completion 与 Debian 的 2.0 版本进行比较后,我可能会有您的解决方案。我无法在 Debian 上测试这个,所以 YMMV。

在 /etc/bash_completion 中找到带注释的 _known_hosts_real 行(下面的代码片段来自 Debian 文件)。
添加主持人到以下命令列表完整-F在下一行。
然后*源/etc/bash_completion*。
这适用于我的系统。您可以使用以下命令显示绑定完整-p命令。

} # _known_hosts_real() 完成 -F _known_hosts Traceroute Traceroute6 Tracepath Tracepath6 \ fping fping6 telnet rsh rlogin ftp dig mtr ssh-installkeys showmount

我在这里找到了绑定信息: http://www.debian-administration.org/article/An_introduction_to_bash_completion_part_1

相关内容