我有一个类似于git的程序,git foo
和git-foo
都是调用它的有效方法。我为git foo
版本编写了基本的标签,我希望将其用于git-*
。但由于各种原因,事先知道所有git-*
命令的列表是非常重要的(事实上,因为我可以随时添加新命令),所以我需要一种方法来运行类似
complete -F _my_git_completion git-*
但是,由于在调用时使用当前目录中的文件扩展git-*
,因此该行不起作用。这没有用,因为我的文件不在当前目录中。
我依稀记得一个名为第一次为新的可执行文件尝试完成的钩子,但我现在找不到它。有这样的事吗?
答案 0 :(得分:0)
好吧,事实证明这是一个更老的问题: bash-completion - completion function defined the first time a command is invoked 所以我应该更努力地搜索。