| C Shell | Bourne Shell | 
|  |  | 
| Syntaxe | 
| switch (nom) | case nom in | 
| case label1: | label1 ) | 
| commandes | commandes | 
|  |  | 
| breaksw | ;; | 
| case label2: | label2 ) | 
| commandes | commandes | 
|  |  | 
| breaksw | ;; | 
| default: | *) | 
| # tous les autres cas | # tous les autres cas | 
| commandes | commandes | 
|  |  | 
| breaksw | ;; | 
| endsw | esac | 
| Remarques | 
| Les labels suivant le "case" peuvent exprimer une alternative de type 
		"ou" avec la notation " []", ainsi :
		"case [oO][uU][iI]:" accepte "oui" et "OUI" ainsi que
		toutes les combinaisons possibles avec les minuscules et les majuscules. | Les labels de chaque cas peuvent exprimer un alternative de type "ou" en 
		étant séparés par le caractère " |", ainsi "oui|OUI)"
		accepte seulement les deux combinaisons suivantes : "oui" et "OUI". | 
| Le branchement s'effectue sur une clause "case" en fonction de la valeur
		spécifiée entre parenthèses à l'instruction "switch". Les instructions
		sont exécutées jusqu'à ce que "breaksw" (ou "endsw") soit localisé. | Le branchement s'effectue sur une clause "label)" en fonction de la valeur
		spécifiée entre les mots clef "case" et "in". Les instructions
		sont exécutées jusqu'à ce que ";;" (ou "esac") soit localisé. | 
| Exemple | 
| #!/bin/csh | #!/bin/sh | 
| switch ($MACHINE) | case $MACHINE in | 
| case "SUN": | "SUN") | 
| echo "Je suis sur Sun" | echo "Je suis sur Sun." | 
| breaksw | ;; | 
| case "SGI": | "SGI") | 
| echo "Je suis sur Silicon" | echo "Je suis sur Silicon." | 
| breaksw | ;; | 
| case "DEC": | "DEC"|"HP"|"IBM") | 
| case "HP": | echo "Je suis sur DEC" | 
| case "IBM": | echo "Peut-etre ou HP" | 
| echo "Je suis sur DEC" | echo "Ou bien encore IBM." | 
| echo "Peut-etre ou HP" | ;; | 
| echo "Ou bien encore IBM." | *) | 
| default: | echo "Je suis en SH" | 
| echo "Je suis en CSH" | esac | 
| endsw |  |