2

我有一个自定义的自动完成命令(调用它commandA

commandB我想窃取 commandA 第一个参数的自动完成选项

因此,例如,commandA 的参数 1 的选项是:

abcdef abcabc abc123

我想要一些类似的东西 compgen -? "commandA"compgen -? "commandA abc"生成上面的列表。

4

1 回答 1

4

您可以使用complete -p commandA来找出将调用哪个函数来为该命令执行自定义完成。(您需要寻找 -F 选项的参数。如果有其他选项,它会变得更加复杂。)

然后,您需要设置标准完成环境变量(其名称以 COMP_ 开头)并使用适当的参数调用该函数。它将填写 COMPREPLY 变量;如有必要,您可以添加其他可能性。有关详细信息,请参阅bash 手册

于 2015-05-30T00:42:05.503 回答