En el script bash, la declaración if verifica si una condición es verdadera o no. Si es así, el shell ejecuta el bloque de código asociado con la instrucción if. Si la declaración no es verdadera, el shell salta más allá del final del bloque de declaración if y continúa.
En esta guía, aprenderemos a usar las sentencias if, if else, If..elif..else..fi. La declaración if-else también se conoce como declaración condicional en script bash.
sentencia if
Sintaxis:
if [ condition_command ]
then
command1
command2
……..
last_command
fi
Ejemplo:
En el siguiente ejemplo de secuencia de comandos bash, estamos comparando dos números utilizando la instrucción if condi.
#!/bin/bash number=150 if [ $number -eq 150 ] then echo "Number is 150" fi
Declaración if-else
Además de la declaración if normal, podemos extender la declaración if con un bloque else. La idea básica es que si la declaración es verdadera, entonces ejecute el bloque if. Si la declaración es falsa, entonces ejecute el bloque else. Aquí bloque es el conjunto de comandos.
Sintaxis :
if [ condition_command ]
then
command1
command2
……..
last_command
else
command1
command2
……..
último_comando
fi
Ejemplo:
#!/bin/bash number=150 if [ $number -gt 250 ] then echo "Number is greater" else echo "Number is smaller" fi
Declaración If..elif..else
En el script bash, si desea aplicar múltiples condiciones usando la declaración if, entonces use 'if elif else'. En este tipo de instrucción condicional, si se cumple la primera condición, se ejecutará el código que se encuentra a continuación; de lo contrario, se verificará la siguiente condición y, si no coincide, se ejecutarán los comandos mencionados a continuación. Su sintaxis y ejemplo se muestran a continuación.
Sintaxis :
if [ condition_command ]
then
command1
command2
……..
last_command
elif [ condition_command2 ]
then
command1
comando2
……..
último_comando
else
comando1
comando2
……..
último_comando
fi
Ejemplo:
#!/bin/bash number=150 if [ $number -gt 300 ] then echo "Number is greater" elif [ $number -lt 300 ] then echo "Number is Smaller" else echo "Number is equal to actual value" fi
Instrucciones if anidadas
Las declaraciones if y else se pueden anidar en un script bash. La palabra clave 'fi' muestra el final de la declaración if interna y todas las declaraciones if deben terminar con la palabra clave 'fi'.
La sintaxis básica de if anidado se muestra a continuación:
if [ condition_command ]
then
command1
command2
……..
last_command
else
if [ condition_command2 ]
entonces
comando1
comando2
……..
last_command
else
comando1
comando2
……..
último_comando
fi
fi
Ejemplo:
#!/bin/bash number=150 if [ $number -eq 150 ] then echo "Number is 150" else if [ $number -gt 150 ] then echo "Number is greater" else echo "'Number is smaller" fi fi