如何在SLES 12中自动完成命令的选项?

时间:2017-03-28 06:00:53

标签: linux command-line-interface bash-completion sles

我有服务,比如说xyz。截至目前,我可以分别使用命令rcxyz start,rcxyz stop和rcxyz restart启动,停止或重启该服务。它工作正常。

我想要做的就是,如果我输入rcxyz并按<TAB>,我希望自动完成三个选项(启动,停止和重启)。

我在stackoverflow中引用了其他与bash_completion相关的问题,并尝试编写一个我编写的虚拟脚本/etc/bash_completion.d/rcxyz.sh

complete -c rcxyz

我期待当我输入rcxyz并按<TAB>时,我将获得可用命令列表作为参数。但它没有用。

我错过了什么吗?

1 个答案:

答案 0 :(得分:0)

你应该写:

complete -W 'start stop restart' rcxyz

参见bash的手册:

  

-W wordlist

     
    

使用IFS中的字符拆分 wordlist                           特殊变量作为分隔符,以及每个结果字                           扩大了。可能的完成是成员                           结果列表与正在填写的单词匹配。