bash 参数包含空格的补全

bash 参数包含空格的补全

如何创建参数中包含空格的 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

相关内容