在RHEL7/CentOS7以前的版本中,bash自动补全功能仅限于命令和文件名,然而网络设备往往可以自动补全命令的参数,常常让搞网络出身的工程师唏嘘不已。


在新出的RHEL7/CentOS7中的Bash已经可以自动补全命令参数了,需要注意的是RHEL7/CentOS7的默认安装类型是最小安装,它是没有这个功能的。要启用这个功能,你需要安装一个bash-completion包,然后退出bash,重新登录即可(未重启bash的情况下继续使用可能出现补全功能异常,出现一堆代码)。


bash-2.05及以后的版本提供了自动补齐的编程接口,通过安装 bash-completion 来使用TAB键自动补齐几乎任何内容,包括参数、文件、目录甚至包名称等等。在最近的Linux各个发行版中基本都带有bash-completion包,如果没有的话,可以从网上下载源码包安装。