Marre de devoir se souvenir de tous les arguments de votre script ? Vous voulez pouvoir tabuler comme avec des commandes ? Eh bien c'est possible... Et accessible !
Il vous faut d'abord un script qui accepte des arguments, pour l'exemple reload screen start status stop
.
Ensuite il vous faut créer un fichier dans /etc/bash_completion.d/
avec cette tête (à modifier selon le besoin) :
_script()
{
local cur prev opts
COMPREPLY=()
cur="${COMP_WORDS[COMP_CWORD]}"
prev="${COMP_WORDS[COMP_CWORD-1]}"
opts="start stop screen status reload"
if [[ ${cur} == * ]] ; then
COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
return 0
fi
}
complete -F _script /chemin/du/script.sh
Sourcez votre fichier préalablement créé source /etc/bash_completion.d/nom_du_fichier
Enfin appelez votre script en tabulant, vous devriez voir les options s'afficher 🙂