一直习惯使用 debian,Ubuntu 系统, 最近 it 要求各种加固, 并且只提供 CentOS 脚本, 而 Ubuntu 版本 14,16,17 都要自己整一遍太麻烦, 于是部门纷纷换装 CentOS.
换了 CentOS 其它还好, 就是 make 命令实在不方便. 编译系统的 make 有几十个目标, 加一些繁琐的参数, 在 Ubuntu 可以用 tab 自动补全, 在 CentOS 完全不行.(CentOS 最小安装, 已安装 bash-completion)
比如有 aaa,bbb,ccc...... 等 60 个目标, 加 congfig=xxxxx/yyyy,
在 Ubuntu 只要输入:
make a[tab] config=x[tab][tab][tab]
在 CentOS 则需要全部手写:
make aaa config=xxxxx/yyyy
记不住~
百度 bing 也找不到 Ubuntu,CentOS 的这些差异, 估计太细小了.
最后搜 bash-completion 原理, 配置脚本在 /etc/bash_completion.d/ , 遂全部从 Ubuntu 拷贝到 CentOS, 重新登陆, 不生效.
最后找到, 系统默认的配置在 /usr/share/bash-completion/completions/
- Ubuntu:
- ls /usr/share/bash-completion/completions/|wc -l
- 583
- CentOS:
- ls /usr/share/bash-completion/completions/|wc -l
- 192
差别巨大. 找到 /usr/share/bash-completion/completions/make 拷贝过来, 解决.
来源: http://www.bubuko.com/infodetail-3156891.html