如何在 SLES 12 中自动完成命令的选项?
Posted
技术标签:
【中文标题】如何在 SLES 12 中自动完成命令的选项?【英文标题】:How to autocomplete the options for a command in SLES 12? 【发布时间】:2017-03-28 06:00:53 【问题描述】:我有一个服务,比如说 xyz。到目前为止,我可以分别使用命令 rcxyz start、rcxyz stop 和 rcxyz restart 来启动、停止或重新启动该服务。它工作正常。
我想要做的只是,如果我输入 rcxyz 并按<TAB>
,我希望三个选项(开始、停止和重新启动)自动完成。
我在 *** 中提到了其他与 bash_completion 相关的问题,并尝试编写了一个虚拟脚本/etc/bash_completion.d/rcxyz.sh
,其中我已经编写了
complete -c rcxyz
我期待当我输入 rcxyz 并按下 <TAB>
时,我会得到可用命令的列表作为参数。但它没有用。
我错过了什么吗?
【问题讨论】:
【参考方案1】:你应该写:
complete -W 'start stop restart' rcxyz
参见 bash 的手册:
-W 词表
wordlist 使用
IFS
中的字符进行拆分 特殊变量作为分隔符,以及每个结果词 被扩展。可能的完成是成员 与正在完成的单词匹配的结果列表。
【讨论】:
像魅力一样工作!非常感谢:)以上是关于如何在 SLES 12 中自动完成命令的选项?的主要内容,如果未能解决你的问题,请参考以下文章
角度材料自动完成 - 如何防止键盘输入以在建议面板中选择一个选项