我无法在 Bash 4.4.20(Ubuntu 18.04 中的默认 shell)中得到这个答案:
$ complete -o nosort -W '--color=auto --color=always --color=never' mycommand
$ mycommand --<Tab>
--color=always --color=auto --color=never
在函数中设置COMPREPLY
会产生相同的结果:
_mycommand() {
COMPREPLY=($(compgen -W '--color=auto --color=always --color=never' -- "${COMP_WORDS[1]}"))
}
complete -o nosort -F _mycommand mycommand
man bash
提到了这个nosort
选项,所以应该支持它。是什么赋予了?
看起来这是由以下原因引起的
completion-ignore-case
:看起来修复不在 Bash 4.4.20 中。