Use compgen to get autocomplete for another comman

2019-02-27 10:03发布

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条回答
Luminary・发光体
2楼-- · 2019-02-27 10:54

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.

查看更多
登录 后发表回答