Las declaraciones if-else en bash scripting son similares a cualquier otro lenguaje de programación; es un método para que un programa tome decisiones.
En if-else sentencias, la ejecución de un bloque de sentencia se decide en base al resultado del if condición.
Sintaxis de declaración Bash If-Else
La sintaxis del if-else declaración en bash es:
if [condition]
then
//if block code
else
// else block code
fi
Si la condición se evalúa como true , el if se ejecuta el código de bloque, y si la condición se evalúa como false luego el else se ejecuta el código de bloque.
La instrucción else y el bloque de código else son opcionales.
Tenemos que terminar el if declaración con el fi palabra clave.
Comparaciones condicionales
La expresión utilizada por la construcción condicional debe evaluarse como true o false . La expresión puede ser una sola cadena o variable.
- menor que - denotado por:
$a -lt $bo$a < $b - mayor que - denotado por:
$a -gt $bo$a > $b - menor o igual que - denotado por:
$a -le $bo$a <= $b - mayor o igual que - denotado por:
$a -ge $bo$a >= $b - igual a - denotado por:
$a -eq $bo$a == $b - no igual a - denotado por:
$a -ne $bo$a != $b
Operadores lógicos
La expresión dentro del if declaración también puede ser una combinación lógica de múltiples comparaciones.
Los operadores lógicos son:
- lógico y - denotado por
$a AND $bo$a && $bevalúa atruecuando ambas variables o declaraciones son verdaderas. - lógico o - denotado por
$a OR $bo$a || $bevalúa atruecuando una de las variables o declaraciones es verdadera.
Por ejemplo:
#!/bin/bash
first_name="John"
last_name="Doe"
if [[ $first_name = "John" && $last_name = "Doe" ]]
then
echo 'hello John Doe'
fi
Bash si ejemplo
El if declaración es sólo una declaración condicional simple. Si la condición dentro del if[] evalúa a true luego el if se ejecuta el bloque de código.
Ejemplo:
#!/bin/bash
read -p "Enter a number: " mynumber
if [ $mynumber -gt 10 ]
then
echo "The number you entered is greater than 10"
fi
Nota:En el ejemplo anterior, si ingresamos un número menor que 10, entonces no se imprime nada. Ejemplo de Bash if-else
Cuando el resultado del if la condición es false luego el código en el else se ejecuta el bloque, siempre que haya uno.
Por ejemplo:
#!/bin/bash
read -p "Enter a number: " mynumber
if [ $mynumber -gt 10 ]
then
echo "The number you entered is greater than 10"
else
echo "The number you entered is less than 10"
fi
Ejemplo de Bash if-elif-else
El elif (si no) se usa cuando hay múltiples if condiciones.
Por ejemplo:
#!/bin/bash
read -p "Enter your exam grade: " grade
if [ $grade -ge 80 ]
then
echo "You got A"
elif [ $grade -ge 70 ]
then
echo "You got B"
elif [ $grade -ge 60 ]
then
echo "You got C"
else
echo "Fail"
fi
Bash anidado si ejemplo
También podemos tener anidado if declaraciones.
Por ejemplo:
#!/bin/bash
read -p "Enter value of a :" a
read -p "Enter value of b :" b
read -p "Enter value of c :" c
if [ $a -gt $b ]
then
if [ $a -gt $c ]
then
echo "a is greatest"
else
echo "c is greatest"
fi
else
if [ $b -gt $c ]
then
echo "b is greatest"
else
echo "c is greatest"
fi
fi