| Chapitre 5 : Le Shell |
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
Dans ce modèle:
Exemple:
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 structure de contrôle d'aiguillage à choix multiple
cas1)
liste_commandes_1
;;
cas2)
liste_commandes_2
;;
cas3|cas4)
liste_commandes_3
;;
*)
liste_commandes_4
;;
esac
case $# in
0)
set var='pwd'
;;
1)
set var=$1
;;
*)
echo "Erreur de syntaxe" ; exit
;;
esac
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.