我必须使用多个前缀命令(如xvbf-run
)来启动我的应用程序。启动脚本/应用程序具有可运行的自动完成功能。因此,以下操作有效script1 <TAB><TAB>
。
但以下操作显然无法正常工作{prefix with options} script1 <TAB><TAB>
。由于选项是固定的,我创建了一个简单的函数:
function prefix_summary () {
{prefix with options} $@
}
我试过了complete -F _longopt prefix_summary
,但不起作用。我怎样才能让它prefix_summary
像 bash 提示符一样运行?
结论:使其$ prefix_summary <TAB><TAB>
提供与此相同的自动完成选项$ <TAB><TAB>
答案1
如果我理解你的问题,你想要一个sudo
-like 的完成。
让我们看看如何定义完成sudo
:
$ complete -p sudo
complete -F _sudo sudo
然后,您只需将相同的完成规则(在函数中定义_sudo()
)应用于您的前缀。
$ complete -F _sudo prefix1 prefix2
现在,点击和Tab ↹后将自动完成来自路径的命令。$ prefix1
$ prefix2
$PATH
点击Tab ↹后将$ prefix1 cmd1
根据完成规则的建议自动完成cmd1
。