Use compgen to get autocomplete for another command, which flag to use?

为君一笑 提交于 2019-12-20 03:40:23

问题


I have a custom auto-completed command (call it commandA)

in commandB I want to steal the autocomplete options for the first argument to commandA

So, for example the options for argument1 for commandA are:

abcdef abcabc abc123

I would like something along the lines of compgen -? "commandA" or compgen -? "commandA abc" to generate the list above.


回答1:


You can use complete -p commandA to find out which function would be invoked to do custom completion for that command. (You need to look for the argument to the -F option. If there are other options, it becomes more complicated.)

You would then need to set up the standard completion environment variables (whose names start COMP_) and call that function with appropiate arguments. It will fill in the COMPREPLY variable; if necessary, you could then add other possibilities. See the bash manual for details.



来源:https://stackoverflow.com/questions/30537074/use-compgen-to-get-autocomplete-for-another-command-which-flag-to-use

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!