debian上的服务命令的tab完成

前端之家收集整理的这篇文章主要介绍了debian上的服务命令的tab完成前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有两个安装了debian squeeze的系统.在我键入的一个系统上:
service <TAB>

它向我展示了所有可用的服务(来自/etc/init.d)

在另一个系统上,它显示当前目录中的所有文件.有谁知道哪个设置改变了这种行为?

更新:

文件/etc/bash_completion.d/service丢失了.我从它工作的机器上复制了它.如果我输入完整的-p | grep服务它告诉我:

complete -F _service service

在它不工作的机器上,该命令没有显示任何内容.我在命令行中执行了完整的-F _service服务,之后,命令服务< TAB>告诉我:

service -su: completion: function `_service' not found

这个函数在我最近复制的服务文件中定义,由于某些原因无法找到…

首先检查是否安装了bash-completion运行:
$dpkg -l bash-completion | tail -1

它应输出如下内容

ii  bash-completion  1:1.3-1  programmable completion for the bash shell

如果输出为空,则安装它:

aptitude install bash-completion

然后检查它是否已启用:

$grep -A 2 bash_completion ~/.bashrc /etc/bash.bashrc

输出类似的东西

~/.bashrc:if [ -f /etc/bash_completion ]; then
~/.bashrc:    . /etc/bash_completion
~/.bashrc:fi

如果没有这样或者它被评论(#after~ / .bashrc :)然后添加/取消注释

if [ -f /etc/bash_completion ]; then
    . /etc/bash_completion
fi

到〜/ .bashrc并重新阅读

. ~/.bashrc

之后它应该工作正常.

原文链接:https://www.f2er.com/bash/385378.html

猜你在找的Bash相关文章