复制bash完成(不复制实际代码)
假设我有一个命令复制bash完成(不复制实际代码),bash,autocomplete,Bash,Autocomplete,假设我有一个命令git local(它可以是Bash函数或/usr/local/bin中的二进制文件),并且假设我希望git local具有与命令git相同的制表符。最后,假设我是高效的(读懒散的),我不想去寻找gitcommmand用来手动复制和膨胀my.bashrc(或我粘贴到的任何外部文件和源代码)的代码。有没有一种简单的方法可以让git local使用与git相同的自动补全功能?: 如果提供了-p选项,或者没有提供选项,则以允许将现有完成规范作为输入重复使用的方式打印现有完成规范 差不多
git local
(它可以是Bash函数或/usr/local/bin
中的二进制文件),并且假设我希望git local
具有与命令git
相同的制表符。最后,假设我是高效的(读懒散的),我不想去寻找git
commmand用来手动复制和膨胀my.bashrc(或我粘贴到的任何外部文件和源代码)的代码。有没有一种简单的方法可以让git local
使用与git
相同的自动补全功能?:
如果提供了-p
选项,或者没有提供选项,则以允许将现有完成规范作为输入重复使用的方式打印现有完成规范
差不多
$(complete -p git | awk '$NF="git-local"')
也许吧
例如:
谢谢,出于某种原因,从
$complete-pgit
我得到bash:complete:git:no completion specification
。我的设置一定有问题。
$ 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