Aller au contenu

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