3

我正在寻找一种简单的方法来将 Bash 完成功能从程序“继承”到脚本中。

假设有一个程序foo提供自己的 Bash 补全,例如$ foo sub<TAB>完成到$ foo subcommand. 现在我想编写一个脚本foo-extra,它采用与 相同的参数foo,在调用之前做一些额外的事情foo <arguments>。使foo-extra脚本搭载foo完成功能的最简单方法是什么?

4

1 回答 1

5

foo使用某个函数完成(如果是标准的,它通常会在 中定义/usr/share/bash-completion/completions/foo,并且可能称为类似的东西_foo)。使函数成为完成函数的命令是:

complete -F _foo foo

您可以为任意命令选择相同的功能:

source /usr/share/bash-completion/completions/foo
complete -F _foo foo-extra
于 2015-07-08T01:40:32.650 回答