Unix / Linux Shell - L'istruzione if ... elif ... fi

Il if...elif...fi dichiarazione è la forma anticipata di un livello di dichiarazione di controllo che consente a Shell di prendere decisioni corrette in base a diverse condizioni.

Sintassi

if [ expression 1 ]
then
   Statement(s) to be executed if expression 1 is true
elif [ expression 2 ]
then
   Statement(s) to be executed if expression 2 is true
elif [ expression 3 ]
then
   Statement(s) to be executed if expression 3 is true
else
   Statement(s) to be executed if no expression is true
fi

Questo codice è solo una serie di istruzioni if , in cui ogni if fa parte della clausola else dell'istruzione precedente. Qui le istruzioni vengono eseguite in base alla condizione vera, se nessuna delle condizioni è vera , viene eseguito il blocco else .

Esempio

#!/bin/sh

a=10
b=20

if [ $a == $b ]
then
   echo "a is equal to b"
elif [ $a -gt $b ]
then
   echo "a is greater than b"
elif [ $a -lt $b ]
then
   echo "a is less than b"
else
   echo "None of the condition met"
fi

Dopo l'esecuzione, riceverai il seguente risultato:

a is less than b
unix-decision-making.htm