Sommaire

Analyse des options d’un script avec getopts

Syntaxe

getopts liste-options-attendues option

La commande interne getopts permet à un script d’analyser les options qui lui ont été passées en argument. Chaque appel à getopts analyse l’option suivante de la ligne de commande. Pour vérifier la validité de chacune des options, il faut appeler getopts à partir d’une boucle.

Définition d’une option

Pour getopts, une option est composée d’un caractère précédé d’un signe "+" ou "-".

Exemple

"-c" et "+c" sont des options, tandis que "christie" est un argument :

# gestuser.sh -c christie 
# gestuser.sh +c 

Une option peut fonctionner seule ou être associée à un argument.

Exemple

Voici le script gestuser.sh qui permet d’archiver et de restaurer des comptes utilisateur. Les options -c et -x signifient respectivement "Créer une archive" et "Extraire une archive". Ce sont des options sans argument. Les options -u et -g permettent de spécifier la liste des utilisateurs et la liste des groupes à traiter. Elles doivent être suivies d’un argument.

# gestuser.sh -c -u christie,bob,olive 
# gestuser.sh -x -g cours -u christie,bob

Pour tester si les options et arguments passés au script gestuser.sh sont ceux attendus, le développeur écrira :

getopts "cxu:g:" option

Explication des arguments ...