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.
si declaración
Sintaxis:
Si [ condition_command ]
entonces
comando1
comando2
……..
último_comando
fi
Ejemplo:
En el siguiente ejemplo de script bash, estamos comparando dos números usando la declaració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:
Si [ condition_command ]
entonces
comando1
comando2
……..
último_comando
demás
comando1
comando2
……..
ú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 instrucción if, 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:
Si [ condition_command ]
entonces
comando1
comando2
……..
último_comando
elif [ condition_command2 ]
entonces
comando1
comando2
……..
último_comando
demás
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
Declaraciones 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:
Si [ condition_command ]
entonces
comando1
comando2
……..
último_comando
demás
Si [ condition_command2 ]
entonces
comando1
comando2
……..
último_comando
demás
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
Leer también : 16 ejemplos de comandos Quick Cat en Linux