Bash 中的自动完成前缀命令

Bash 中的自动完成前缀命令

我必须使用多个前缀命令(如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

相关内容