compgen: ignorer la casse


9

J'essaie d'implémenter une complétion bash personnalisée comme décrit ici . Cependant, il semble que cela compgensoit sensible à la casse . Y a-t-il un moyen de le rendre insensible à la casse dans ce contexte?

Réponses:


5

Je modifierais l'exemple du lien que vous avez mentionné en quelque chose comme ceci:

_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

Pour plus d'informations, reportez-vous à la documentation bash ou au site bash hackers .


Mais cela dépend du fait que optstout est en minuscules. S'il l'était --help --verbose --VERSION, il ne pourrait jamais achever le troisième cas.
Enrico Maria De Angelis
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.