!["nosort"를 사용하는 경우에도 "complete"가 옵션을 정렬하는 이유는 무엇입니까?](https://linux55.com/image/167646/%22nosort%22%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EB%8A%94%20%EA%B2%BD%EC%9A%B0%EC%97%90%EB%8F%84%20%22complete%22%EA%B0%80%20%EC%98%B5%EC%85%98%EC%9D%84%20%EC%A0%95%EB%A0%AC%ED%95%98%EB%8A%94%20%EC%9D%B4%EC%9C%A0%EB%8A%94%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
나는 얻을 수 없다이 답변Bash 4.4.20(Ubuntu 18.04의 기본 셸)에서 작업:
$ 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
지원되어야 합니다. 무엇을 제공합니까?
답변1
이것 때문에 발생한 것 같습니다.completion-ignore-case
:
$ bind "set completion-ignore-case off"
$ bind -V | grep ignore-case
completion-ignore-case is set to `off'
$ complete -o nosort -W '--color=auto --color=always --color=never' mycommand
$ mycommand --<Tab>
--color=auto --color=always --color=never
Bash 4.4.20에는 수정 사항이 없는 것 같습니다.