Estou tentando implementar uma conclusão personalizada do bash, conforme descrito aqui . No entanto, parece que compgen
diferencia maiúsculas de minúsculas . Existe uma maneira de torná-lo sem distinção entre maiúsculas e minúsculas nesse contexto?
Estou tentando implementar uma conclusão personalizada do bash, conforme descrito aqui . No entanto, parece que compgen
diferencia maiúsculas de minúsculas . Existe uma maneira de torná-lo sem distinção entre maiúsculas e minúsculas nesse contexto?
Respostas:
Eu modificaria o exemplo do link que você mencionou para algo assim:
_foo()
{
local cur prev opts
COMPREPLY=()
cur="${COMP_WORDS[COMP_CWORD],,}" # this downcases the result
prev="${COMP_WORDS[COMP_CWORD-1],,}" # here too
opts="--help --verbose --version"
if [[ ${cur} == -* ]] ; then
COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
return 0
fi
}
complete -F _foo foo
Para mais informações, consulte a documentação do bash ou o site do bash hackers .
opts
tudo é minúsculo. Se fosse--help --verbose --VERSION
, nunca poderia concluir o terceiro caso.