可能重复:
正确处理 bash 完成中的空格和引号
我想使用多字引用字符串来完成 bash。
例如,我喜欢能够做到这一点
$ command <tab>
"Long String 1"
"Long String 2"
其中“Long String 1”和“Long String 2”是按下选项卡时给出的建议。
我尝试使用它,其中~/strings
包含引用字符串的列表
function _hista_comp(){
local curw
COMPREPLY=()
curw=${COMP_WORDS[COMP_CWORD]}
COMPREPLY=($(compgen -W '`cat ~/strings`' -- $curw))
return 0
}
complete -F _hista_comp hista
上面的函数在空格上分割字符串。有没有办法让它返回整个引用的字符串?
例如,如果~/string
有以下几行
"Long String 1"
"Long String 2"
它将给出 5 个建议而不是 2 个。