我已经使用安装了bash补全 yum install --enablerepo=epel bash-completion
。虽然它适用于一些基本命令(git和yum),但我缺少大部分的完成程序。
我的 /etc/bash_completion.d
包含以下内容:
bash_completion.d] $ ls
git iprutils redefine_filedir yum yummain.py yum-utils.bash
但是,我知道有bash_completion,例如make(已安装),还有更多,请与即 此处示例输出。
如何获得缺少的完成程序脚本?(最好使用yum,因此我不必手动更新它们)
如果很重要:制表符补全就可以了,但是我没有在.bashrc中采购任何东西。安装软件包后,它才开始工作。
更新:检查完bash的版本后,我已经安装了@fduff,提示我看到了以下内容:
$ yum列表已安装| grep完成
bash-completion.noarch 1:2.1-6.el7 @base
但是尝试卸载它并迫使centos从epel存储库中安装bash_completion并sudo yum install --enablerepo=epel bash-completion --disablerepo=base
产生package not found
。
进一步检查发现,现在位于@base 中的新程序包将完成文件放入/usr/share/bash-completion/completions
,但是我仍然缺少一些文件,即ssh
和sudo
(有些sudo command [tab]
虽然command [tab]
并没有完成的糟透了),但是我仍然找不到make
(应列出中的目标Makefile
)
UPDATE2: 更改日志指出:
- 2013年11月1日星期五,彼得·斯托杜卡-2.1-6
- 仅安装不带“ tar”的可用补全(#810343-注释15),然后删除另一个补全。
- 2013年9月13日星期五罗马Rakus-2.1-5
- 添加了另外一个缺少的条件解析:#1007839
- 2013年9月13日星期五罗马Rakus-2.1-4
- 添加了条件以不添加某些命令的完成;程序包具有自己的完成名称:#1007839
因此,在我安装了bash_completion之后,重新安装sudo可以sudo
完成安装,但是make运气不好。
问题:如何make
在Centos 7中启用bash完成?