En este tema, entenderemos cómo usar si declaraciones en scripts Bash para completar nuestras tareas automatizadas.
Bash si las declaraciones son beneficiosas. Se utilizan para realizar tareas condicionales en el flujo secuencial de ejecución de declaraciones. Las declaraciones If generalmente nos permiten tomar decisiones en nuestros scripts Bash. Nos ayudan a decidir si ejecutar o no un fragmento de código en función de la condición que podamos establecer.
Declaraciones if básicas
Una declaración if básica ordena que si una condición particular es verdadera, solo se ejecute un conjunto determinado de acciones. Si no es cierto, entonces no ejecute esas acciones. Si la declaración se basa en el siguiente formato:
Sintaxis
if [ expression ]; then statements fi
La declaración entre entonces y ser (Si es al revés) se ejecutará solo si la expresión (entre corchetes) es verdadera.
Nota:Observe los espacios utilizados en la primera línea y un punto y coma al final de la primera línea; ambos son de uso obligatorio.Si declaración condicionaltermina conser.
- Para usar múltiples condiciones con el operador AND:
if [ expression_1 ] && [ expression_2 ]; then statements fi
- Para usar múltiples condiciones con el operador OR:
if [ expression_1 ] || [ expression_2 ]; then statements fi
- Para expresiones compuestas con operadores AND & OR, podemos utilizar la siguiente sintaxis:
if [ expression_1 && expression_2 || expression_3 ]; then statements fi
A continuación se muestran algunos ejemplos que demuestran el uso de la declaración if:
Ejemplo 1
En este ejemplo, tome una entrada de usuario de cualquier número y verifique si el valor es mayor que 125.
#!/bin/bash read -p ' Enter number : ' number if [ $number -gt 125 ] then echo 'Value is greater than 125' fi
Producción
matemáticas aleatorias java
Si ingresamos el número 159, el resultado se verá así:
Ejemplo 2
En este ejemplo, demostramos el uso de si declaración con un escenario simple de comparar dos cadenas:
#!/bin/bash # if condition is true if [ 'myfile' == 'myfile' ]; then echo 'true condition' fi # if condition is false if [ 'myfile' == 'yourfile' ]; then echo 'false condition' fi
Producción
Ups concepto en java
Ejemplo 3
En este ejemplo, demostramos cómo comparar números usando la declaración if:
#!/bin/bash #if condition (greater than) is true if [ 10 -gt 3 ]; then echo '10 is greater than 3.' fi #if condition (greater than) is false if [ 3 -gt 10 ]; then echo '3 is not greater than 10.' fi #if condition (lesser than) is true if [ 3 -lt 10 ]; then echo '3 is less than 10.' fi #if condition (lesser than) is false if [ 10 -lt 3 ]; then echo '10 is not less than 3.' fi #if condition (equal to) is true if [ 10 -eq 10 ]; then echo '10 is equal to 10.' fi #if condition (equal to) is false if [ 10 -eq 9 ]; then echo '10 is not equal to 9' fi
Producción
Ejemplo 4
En este ejemplo, definiremos cómo usar el operador AND para incluir múltiples condiciones en la expresión if:
#!/bin/bash # TRUE && TRUE if [ 8 -gt 6 ] && [ 10 -eq 10 ]; then echo 'Conditions are true' fi # TRUE && FALSE if [ 'mylife' == 'mylife' ] && [ 3 -gt 10 ]; then echo 'Conditions are false' fi
Producción
Ejemplo 5
En este ejemplo, definiremos cómo usar el operador OR para incluir múltiples condiciones en la expresión if:
#!/bin/bash # TRUE || FALSE if [ 8 -gt 7 ] || [ 10 -eq 3 ]; then echo ' Condition is true. ' fi # FALSE || FALSE if [ 'mylife' == 'yourlife' ] || [ 3 -gt 10 ]; then echo ' Condition is false. ' fi
Producción
Ejemplo 6
En este ejemplo, definiremos cómo usar AND y OR para incluir múltiples condiciones en la expresión if:
#!/bin/bash # TRUE && FALSE || FALSE || TRUE if [[ 10 -eq 10 && 5 -gt 4 || 3 -eq 4 || 3 -lt 6 ]]; then echo 'Condition is true.' fi # TRUE && FALSE || FALSE if [[ 8 -eq 8 && 8 -gt 10 || 9 -lt 5 ]]; then echo 'Condition is false' fi
Producción
herencia en c++
Opciones para la declaración If en Bash Scripting
La declaración If contiene muchas opciones para realizar una tarea específica. Estas opciones se pueden utilizar para operaciones de archivos, operaciones de cadenas, etc. A continuación se detallan algunas de las opciones más utilizadas:
Opciones (Operadores) | Descripción |
---|---|
! EXPRESIÓN | Para comprobar si la EXPRESIÓN es falsa. |
-n CUERDA | Para comprobar si la longitud de STRING es mayor que cero. |
-z CUERDA | Para comprobar si la longitud de STRING es cero (es decir, está vacía) |
CADENA1 == CADENA2 | Para comprobar si STRING1 es igual a STRING2. |
CUERDA1 != CUERDA2 | Para comprobar si STRING1 no es igual a STRING2. |
INTEGER1 -eq INTEGER2 | Para comprobar si INTEGER1 es numéricamente igual a INTEGER2. |
ENTERO1 -gt ENTERO2 | Para comprobar si INTEGER1 es numéricamente mayor que INTEGER2. |
INTEGER1 -lt INTEGER2 | Para comprobar si INTEGER1 es numéricamente menor que INTEGER2. |
-d ARCHIVO | Para comprobar si el ARCHIVO existe y es un directorio. |
-e ARCHIVO | Para comprobar si el ARCHIVO existe. |
-r ARCHIVO | Para comprobar si el ARCHIVO existe y se concede el permiso de lectura. |
-s ARCHIVO | Para comprobar si el ARCHIVO existe y su tamaño es mayor que cero (lo que significa que no está vacío). |
-w ARCHIVO | Para comprobar si el ARCHIVO existe y se concede el permiso de escritura. |
x ARCHIVO | Para comprobar si el ARCHIVO existe y se concede el permiso de ejecución. |
anidado si
Puede aplicar tantas 'declaraciones if' como sea necesario dentro de su script bash. También es posible utilizar una declaración if dentro de otra 'declaración if'. Se conoce como declaración If anidada.
Ejemplo
En este ejemplo, encontraremos 'si un número dado es mayor que 50 y si es un número par' usando la expresión if anidada.
#!/bin/bash #Nested if statement if [ -gt 50 ] then echo 'Number is greater than 50.' if (( % 2 == 0 )) then echo 'and it is an even number.' fi fi
Producción
Si ingresamos un valor de argumento como 100, entonces el resultado se verá así:
Conclusión
En este tema, discutimos cómo podríamos usar la bifurcación condicional en el flujo secuencial de ejecución de declaraciones con la declaración bash if.