Istruzioni di controllo: IF
le istruzioni di controllo sono, come dice già il loro nome, un insieme di istruzioni che controllano (appunto) il funzionamento del programma sulla base del verificarsi o meno di date condizioni.
Per prima cosa vediamo il funzionamento del costrutto if.
Partiamo da un esempio: poniamo di voler porre una domanda e di stampare a video un messaggio a seconda che la risposta sia corretta o meno:
#!/bin/sh
#Faccio la mia domanda
echo -n "Qual'è il nome di Garibaldi? "
#Recupero la risposta
read RISPOSTA
#Stampo a video il risultato
if [ ${RISPOSTA} = "giuseppe" ]
then
echo "Risposta esatta"
else
echo "Risposta sbagliata"
fi
Il costrutto if ha una sintassi molto semplice: si esprime la condizione tra parentesi quadre e se essa risulta vera la shell esegue le istruzioni subito dopo then. In caso contrario è possibile specificare delle istruzioni opzionali alternative subito dopo else. Ogni costrutto if termina con fi.
Da notare che dopo la parentesi siamo andati a capo... ma avremmo anche potuto scrivere così:
if [ condizione ]; thenInvece di andare a capo, quindi, si aggiunge un punto e virgola alla chiusura della parenresi quadra.
Il punto e virgola ha infatti la funzione di separatore di comandi che quindi possono essere così mesi silla stessa riga.
Nel caso in cui ci siano condizioni multiple è possibile usare elif al posto dei vari if ed esprimere una sola volta le istruzioni alterntative con else alla fine. Facciamo un altro esempio:
#!/bin/sh
#Faccio la mia domanda
echo -n "Quanti anni hai? "
#Recupero la risposta
read ANNI
#Stampo a video il risultato
if [ ${ANNI} -lt 10 ]
then
echo "Sei un bambino"
elif [ ${ANNI} -lt 18 ]
echo "Sei minorenne"
else
echo "Sei maggiorenne"
fi
Non mi resta che darvi appuntamento al prossimo paragrafo dove vedremo una valida alternativa ad if...
');







