Chapitre 5 : Le Shell


La structure de contrôle d'aiguillage à choix multiple

Cette structure de contrôle permet d'effectuer un branchement conditionnel sur une séquence de commandes, en fonction de la valeur d'une variable.

case variable in
cas1)
liste_commandes_1
;;
cas2)
liste_commandes_2
;;
cas3|cas4)
liste_commandes_3
;;
*)
liste_commandes_4
;;
esac

Dans ce modèle:

Exemple:

case $# in
0)
set var='pwd'
;;
1)
set var=$1
;;
*)
echo "Erreur de syntaxe" ; exit
;;
esac

Dans ce "script", la variable var reçoit comme valeur le répertoire courant (si le nombre de paramètres est nul) ou la valeur du paramètre positionnel $1 (s'il n'y a qu'un paramètre). S'il y a plus d'un paramètre, un message est affiché.

Remarque:
La commande break (équivalente à l'instruction break du langage C) existe, mais elle n'est pas nécessaire dans la structure de contrôle d'aiguillage à choix multiple, car le double point-virgule ;; est équivalent à cette commande.