La sintaxis básica de un bloque if-else en bash es la siguiente:
Vamos a crear un script simple que comprueba si un número es positivo, negativo o cero.
read para capturar el número introducido por el usuario.if: "$numero" -gt 0 comprueba si el número es mayor que 0.elif: "$numero" -lt 0 comprueba si el número es menor que 0.else: Si ninguna de las condiciones anteriores se cumple, ejecuta el bloque else.Números:
-eq: Igual a.-ne: No igual a.-lt: Menor que.-le: Menor o igual que.-gt: Mayor que.-ge: Mayor o igual que.Cadenas:
=: Igual a.!=: No igual a.-z: Cadena de longitud cero.-n: Cadena de longitud no cero.Vamos a crear un script que comprueba si una cadena está vacía o no.
#!/bin/bash
# Leemos una cadena del usuario
echo "Introduce una cadena:"
read cadena
# Comprobamos si la cadena está vacía
if [ -z "$cadena" ]; then
echo "La cadena está vacía."
else
echo "La cadena no está vacía."
fi
[ -z "$cadena" ]: Comprueba si la longitud de la cadena es cero (cadena vacía).[ -n "$cadena" ]: Comprueba si la longitud de la cadena no es cero (cadena no vacía).Vamos a crear un script que comprueba si un archivo existe y si es un directorio.
#!/bin/bash
# Leemos la ruta del archivo o directorio del usuario
echo "Introduce la ruta del archivo o directorio:"
read ruta
# Comprobamos si la ruta existe y si es un directorio
if [ -e "$ruta" ]; then
if [ -d "$ruta" ]; then
echo "Es un directorio."
else
echo "Es un archivo."
fi
else
echo "La ruta no existe."
fi
[ -e "$ruta" ]: Comprueba si el archivo o directorio existe.[ -d "$ruta" ]: Comprueba si la ruta es un directorio.Las estructuras if-else en bash son esenciales para controlar el flujo de ejecución basado en condiciones. Los operadores de comparación y las condiciones permiten tomar decisiones lógicas en los scripts, lo que es fundamental para escribir scripts bash eficientes y funcionales.