Estructuras básicas de un script de bash utilizando el condicional if

Tiempo de lectura: 3 min

La estructura if se utiliza para ejecutar comandos basados en una condición. Si la condición es verdadera, se ejecutan los comandos dentro del bloque then.

Estructura básica

if [ condición ]; then
# comandos a ejecutar si la condición es verdadera
fi

Estructura con else
Se utiliza else para especificar comandos que se ejecutarán si la condición es falsa.

if [ condición ]; then
# comandos a ejecutar si la condición es verdadera
else
# comandos a ejecutar si la condición es falsa
fi

Estructura con elif
elif permite agregar condiciones adicionales. Si la primera condición es falsa, se evalúa la siguiente.

if [ condición1 ]; then
# comandos a ejecutar si la condición1 es verdadera
elif [ condición2 ]; then
# comandos a ejecutar si la condición2 es verdadera
else
# comandos a ejecutar si ninguna de las condiciones anteriores es verdadera
fi

Ejemplo:
Un ejemplo práctico que utiliza if, elif y else

#!/bin/bash

echo «Introduce un número:»
read numero

if [ $numero -gt 10 ]; then
echo «El número es mayor que 10»
elif [ $numero -eq 10 ]; then
echo «El número es igual a 10»
else
echo «El número es menor que 10»
fi

Estructura con múltiples condiciones
Puedes combinar varias condiciones utilizando operadores lógicos como && (AND) para que los comandos se ejecuten solo si todas las condiciones son verdaderas.

if [ condición1 ] && [ condición2 ]; then
# comandos a ejecutar si ambas condiciones son verdaderas
fi

Ejemplo :

#!/bin/bash

echo «Introduce dos números:»
read numero1
read numero2

if [ $numero1 -gt 10 ] && [ $numero2 -lt 20 ]; then
echo «El primer número es mayor que 10 y el segundo número es menor que 20»
fi

Estructura con negación
Puedes utilizar ! para negar una condición, de modo que los comandos se ejecuten si la condición es falsa.

if ! [ condición ]; then
# comandos a ejecutar si la condición es falsa
fi

Ejemplo práctico

#!/bin/bash

echo «Introduce un número:»
read numero

if ! [ $numero -eq 10 ]; then
echo «El número no es igual a 10»
fi

Estructura con case (alternativa a if)
La estructura case es útil cuando tienes múltiples patrones a evaluar. Es una alternativa más limpia y legible a múltiples if-elif-else.

case variable in
patrón1)
# comandos a ejecutar si la variable coincide con el patrón1
;;
patrón2)
# comandos a ejecutar si la variable coincide con el patrón2
;;
*)
# comandos a ejecutar si la variable no coincide con ninguno de los patrones anteriores
;;
esac

Ejemplo práctico

#!/bin/bash

echo «Introduce una letra:»
read letra

case $letra in
[a-z])
echo «Has introducido una letra minúscula»
;;
[A-Z])
echo «Has introducido una letra mayúscula»
;;
*)
echo «No has introducido una letra»
;;
esac