En este tema, entenderemos cómo usar declaraciones if-else en scripts Bash para completar nuestras tareas automatizadas.
Las declaraciones Bash if-else se utilizan para realizar tareas condicionales en el flujo secuencial de ejecución de declaraciones. A veces, queremos procesar un conjunto específico de declaraciones si una condición es verdadera y otro conjunto de declaraciones si es falsa. Para realizar este tipo de acciones, podemos aplicar el mecanismo if-else. Podemos aplicar la condición con la 'declaración if'.
Sintaxis de Bash si no
Una sintaxis de la declaración if-else en Bash Shell Scripting se puede definir de la siguiente manera:
if [ condition ]; then else fi
Puntos importantes para recordar
- Podemos utilizar un conjunto de una o más condiciones unidas mediante operadores condicionales.
- De lo contrario, bloquear comandos incluye un conjunto de acciones a realizar cuando la condición es falsa.
- El punto y coma (;) después de la expresión condicional es imprescindible.
Consulte los siguientes ejemplos que demuestran el uso de la declaración if-else en Bash Script:
Ejemplo 1
El siguiente ejemplo consta de dos escenarios diferentes donde en la primera declaración if-else, la condición es verdadera y en la segunda declaración if-else, la condición es falsa.
#!/bin/bash #when the condition is true if [ 10 -gt 3 ]; then echo '10 is greater than 3.' else echo '10 is not greater than 3.' fi #when the condition is false if [ 3 -gt 10 ]; then echo '3 is greater than 10.' else echo '3 is not greater than 10.' fi
Producción
En la primera expresión if-else, la condición ( 10 -gt 3 ) es verdadera y, por lo tanto, se ejecuta la declaración en el bloque if. Mientras que en la otra expresión if-else, la condición ( 3 -gt 10 ) es falsa y por eso se ejecuta la declaración en el bloque else.
Ejemplo 2
En este ejemplo, explicamos cómo usar múltiples condiciones con la declaración if-else en Bash. Usamos operadores lógicos bash para unir múltiples condiciones.
#!/bin/bash # When condition is true # TRUE && FALSE || FALSE || TRUE if [[ 10 -gt 9 && 10 == 9 || 2 -lt 1 || 25 -gt 20 ]]; then echo 'Given condition is true.' else echo 'Given condition is false.' fi # When condition is false #TRUE && FALSE || FALSE || TRUE if [[ 10 -gt 9 && 10 == 8 || 3 -gt 4 || 8 -gt 8 ]]; then echo 'Given condition is true.' else echo 'Given condition is not true.' fi
Producción
Declaración Bash If Else en una sola línea
Podemos escribir una 'declaración if-else' completa junto con los comandos en una sola línea. Debe seguir las reglas dadas para usar la declaración if-else en una sola línea:
- Utilice un punto y coma (;) al final de las declaraciones en los bloques if y else.
- Utilice espacios como delimitador para anexar todas las declaraciones.
A continuación se proporciona un ejemplo que demuestra cómo utilizar la declaración if-else en una sola línea:
Ejemplo
#!/bin/bash read -p 'Enter a value:' value if [ $value -gt 9 ]; then echo 'The value you typed is greater than 9.'; else echo 'The value you typed is not greater than 9.'; fi
Producción
Cuando ingresamos un valor como 25, el resultado se verá así:
Bash anidado si no
Al igual que la declaración if anidada, la declaración if-else también se puede usar dentro de otra declaración if-else. Se llama if-else anidado en las secuencias de comandos Bash.
A continuación se muestra un ejemplo que explica cómo utilizar la declaración if-else anidada en Bash:
Ejemplo
#!/bin/bash read -p 'Enter a value:' value if [ $value -gt 9 ]; then if [ $value -lt 11 ]; then echo '$value>9, $value<11' else echo 'the value you typed is greater than 9.' fi not < pre> <p> <strong>Output</strong> </p> <p>If we enter 10 as value, then the output will look like this:</p> <img src="//techcodeview.com/img/bash-tutorial/63/bash-if-else-4.webp" alt="Bash If Else Statement"> <h2>Conclusion <p>In this topic, we have learned about the syntax and usage of <strong>Bash if-else</strong> statement with the examples.</p> <hr></h2></11'>