パラメータに空白を含むbash完了スクリプトを生成するには、パラメータは空白で区切られている限りうまく機能しますが、空白を含み、改行などで区切られたパラメータでは機能させることはできません。
_api(){
...
COMPREPLY=( $( compgen -W "$args" -- "$cur" ) )
...
}
complete -F _api ./command
答え1
以下を行います。
_api(){
...
local IFS=$'\n'
COMPREPLY=( $( compgen -W "$args" -- "$cur" ) )
...
}
complete -F _api ./command