我新安装了 Debian Wheezy,我注意到bash_completion
某些命令不起作用。例如,它适用于ping
,但不适用于host
(两者ping
和host
都应完成来自 的主机名/etc/hosts
)。
此外,我注意到与以前版本的 Debian (Squeeze) 不同,bash 完成设置不再存储为单独的文件/etc/bash_completion.d
,而是存储为/usr/share/bash-completion/bash_completion
.看起来基础设施已经改变了。
如何bash_completion
为host
命令工作?
答案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。