0

我有一个服务,比如 xyz。到目前为止,我可以分别使用命令 rcxyz start、rcxyz stop 和 rcxyz restart 来启动、停止或重新启动该服务。它工作正常。

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

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

complete -c rcxyz

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

我错过了什么吗?

4

1 回答 1

0

你应该写:

complete -W 'start stop restart' rcxyz

请参阅 bash 的手册:

-W单词表

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

于 2017-03-28T06:52:56.293 回答