Case Shell

Un article de WikiTuto.

Jump to: navigation, search

Linux


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

Voir aussi

Boîte à outils
Annuaire gratuitCe site est listé dans la catégorie Informatique : Aide et astuces en informatique Annuaire