logo

Golpear si no

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

Declaración Bash si no

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 si no

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í:

Declaración Bash si no

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 &apos;Enter a value:&apos; value if [ $value -gt 9 ]; then if [ $value -lt 11 ]; then echo &apos;$value&gt;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'>