我有服务,比如说xyz。到目前为止,我可以分别使用命令rcxyz start、rcxyz stop和rcxyz restart启动、停止或重新启动该服务。它工作得很好。
我只想做的是,如果我键入rcxyz并按<TAB>
,我希望有三个选项(开始、停止和重新启动)自动完成。
我在stackoverflow中提到了其他与bash庠completion相关的问题,并尝试编写了一个虚拟脚本
complete -c rcxyz
我希望当我输入rcxyz并按
/etc/bash_completion.d/rcxyz.sh
时,我将获得可用命令的列表作为参数。但没用。我遗漏了什么吗?
最佳答案
你应该写:
complete -W 'start stop restart' rcxyz
参见bash手册:
-W字表
使用
IFS
中的字符拆分单词列表作为分隔符的特殊变量,以及每个结果字
是扩展的。可能完成的是成员
与正在完成的单词匹配的结果列表的。