los if...elif...fi declaración es la forma de declaración de control de un nivel de avance que permite a Shell tomar la decisión correcta a partir de varias condiciones.
Sintaxis
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
Este código es solo una serie de declaraciones if , donde cada if es parte de la cláusula else de la declaración anterior. Aquí las declaraciones se ejecutan en función de la condición verdadera, si ninguna de las condiciones es verdadera , se ejecuta el bloque else .
Ejemplo
#!/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
Tras la ejecución, recibirá el siguiente resultado:
a is less than b
unix-decision-making.htm