logo

Golpear si

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

Declaración Bash If

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
Declaración Bash If

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

Declaración Bash If

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

Declaración Bash If

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

Declaración Bash If

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++
Declaración Bash If

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

Declaración Bash If

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.