_mountdisk(){ # declaration des variables locales local argc first cur opts #COMPREPLY désigne la réponse à renvoyer pour la complétion actuelle COMPREPLY=() # argc : vaut le nombre d'argument actuel sur la ligne de commande argc=${COMP_CWORD}; # cur : désigne la chaine de caractère actuelle pour le dernier mot de la ligne de commande first="${COMP_WORDS[1]}" cur="${COMP_WORDS[argc]}" opts="$(mountdisk -l)" # les options possibles pour notre auto-complétion if [ $argc -eq 1 ]; then # on auto-complete la ligne de commande en recherchant cur dans la liste opts. #A noter que le -- est important ici pour éviter les "injections d'options" depuis $cur. COMPREPLY=( $(compgen -W "$opts" -- $cur ) ) return 0 fi } # On active l'auto-completion de la commande complete -F _mountdisk mountdisk