复制bash完成(不复制实际代码)

时间:2014-04-22 08:47:06

标签: bash autocomplete

假设我有一个命令git-local(它可能是一个Bash函数或/usr/local/bin中的二进制文件)并且假设我希望git-local具有与命令{相同的选项卡完成度{ {1}}有。最后,假设我效率很高(读懒)我不想找到git命令用来手动复制和膨胀我的.bashrc的代码(或者我粘贴它的任何外部文件)和来源)。我可以使用git使用与git-local相同的自动完成功能的简单方法吗?

1 个答案:

答案 0 :(得分:3)

8.7 Programmable Completion Builtins

  

如果提供了-p选项,或者没有提供选项,则现有的完成规范将以允许重复用作输入的方式打印。

这样的东西
$(complete -p git | awk '$NF="git-local"')

可能?

E.g:

$ complete -p foobar
-bash: complete: foobar: no completion specification
$ complete -p traceroute
complete -F _known_hosts traceroute
$ $(complete -p traceroute | awk '$NF="foobar"')
$ complete -p foobar
complete -F _known_hosts foobar