Gestion des paramètres d'une commande#
Getopts#
Cette commande permet de récuperer facilement les options passées en paramètre du script.
Syntaxe générale#
getopts Chaîne_options Nom [Argument ...]
Nom prend successivement comme valeur celles passées en paramètre du script.
Les seules valeurs valides sont données par chaine_option (voir ci dessous
pour plus de détails)
while getops vy argument
do
case $argument in
v) ...;;
y) ... ;;
esac
done
Traitement des erreurs#
Pour ajouter un traitement d'erreur automatique, il suffit de mettre :
devant la liste des options valides
Lorsque l'utilisateur utilise une option non valide, getopts renvoie
\?
while getops :vy argument
do
case $argument in
v) ...;;
y) ... ;;
\?) ... ; exit ;;
esac
done
Option avec arguments (et gestion des erreurs)#
Pour permettre de saisir un paramètre apres une option, il suffit de rajouter
: après l'option concernée
La variable OPTARG contient le paramètre Si l'utilisateur omet le
paramètre, getops renvoie : et OPTARG l'option concernée.
while getops :y: argument
do
case $argument in
y) ... ; arg=$OPTARG;;
:) echo " l'option -$OPTARG a besoin d'un argument " ; exit ;;
\?) ... ; exit ;;
esac
done