Shell Unix / Linux - A instrução if ... elif ... fi

o if...elif...fi declaração é a forma de um nível avançado de declaração de controle que permite à Shell tomar a decisão correta a partir de várias condições.

Sintaxe

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 é apenas uma série de instruções if , onde cada if faz parte da cláusula else da instrução anterior. Aqui declaração (s) são executadas com base na verdadeira condição, se nenhuma condição for verdade, então o resto do bloco é executado.

Exemplo

#!/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

Após a execução, você receberá o seguinte resultado -

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