Case Shell
Un article de WikiTuto.
Sommaire |
Explication
Pour comparer une variable à plusieurs valeurs il est nécessaire d'utiliser case,mais il serait également possible d'utiliser plusieurs if imbriqué pour réaliser l'ensemble des tests, mais cette tâche serait fastidieuse en therme de codage.
Syntaxe
case $variable in valeur1) Instructions ;; valeur2) Instructions ;; valeur3) Instructions ;; *) Instructions si la variable ne correspont à aucune des valeurs précédentes ;; esac
La variable a testé doit être mise entre case et in. Chaque fin de bloc d'instruction est terminé par ;. Valeur représente ici la valeur à tester sur la variable. * permet de dire que si aucune des valeurs ne correspond j'effectuerais les instructions suivante. * est facultatif, il est possible de n'effectuer aucune instruction si la variable ne correspond à aucune valeur testée.
Exemple
Dans l'exemple ci-dessous je veux tester quel nom est contenu dans la variable nom afin de saluer l'utilisateur comme il se doit ;)
case $nom in Drowse) echo "bonjour Drowse" ;; Robert) echo "bonjour Robert" ;; Joseph) echo "bonjour joseph" ;; *) echo "Mais qui est-ce ?" ;; esac



