Una valida alternativa ad if è offerta dal costrutto case. Con case, nella sostanza, si costruisce una casistica di evenienze ad ognuna delle qiuali è associata una data risposta del programma. Vediamo subito un esempio e riprendiamo il primo visto nel passato paragrafo rivisto e corretto con l’utilizzo di case:
#!/bin/sh
#Faccio la mia domanda
echo -n "Qual'è il nome di Garibaldi? "
#Recupero la risposta
read RISPOSTA
#Costruisco una casistica di risposte
case $RISPOSTA in
garibaldi)
echo "Risposta esatta"
;;
*)
echo "Risposta sbagliata"
;;
esac
Ogni istruzione case richiede – almeno – un pattern (nel nostro esempio lo è la variabile RISPOSTA).
Successivamente vanno specificati i singoli valori possibili del pattern seguiti dal simbolo ), dalle relative istruzioni e infine da una coppia di punto e virgola.
Il simbolo asterisco (*) esprime tutti i valori non specificati ed è opzionale.
Ogni costrutto case termina con esac.Pubblicità