Aprende a dominar las sentencias condicionales en Bash con ejemplos claros y comentados. Aquí verás cómo aplicar if, else y elif, la diferencia entre usar doble paréntesis y corchetes, y qué operadores numéricos y lógicos emplear para validar rangos y decisiones de forma fiable.
¿Cómo funcionan las sentencias if, else y elif en Bash?
Las decisiones en Bash siguen una sintaxis clara: if evalúa una condición, then ejecuta sentencias cuando es verdadera, elif añade más condiciones y else cubre el caso final. El bloque siempre cierra con fi.
Con corchetes: respeta espacios después de "[" y antes de "]". Siempre.
Con doble paréntesis: ideal para comparaciones aritméticas simples.
En la misma línea de la condición puedes usar "; then"; en multilinea, pon "then" en la siguiente línea.
¿Cómo validar una nota con doble paréntesis?
Ejemplo aritmético usando lectura desde teclado con read -n y read -p.
read -n 1 -p "Indique cuál es su nota (1-9): " nota_clase
echoif(( nota_clase >=7));thenecho"El alumno aprueba la materia."elseecho"El alumno reprueba la materia."fi
Puntos clave:
read -n 1: lee un solo carácter.
read -p: muestra un mensaje antes de leer.
(( ... )): permite comparaciones numéricas como >=.
¿Qué ejemplos prácticos se implementan con variables y read?
Además de notas, puedes evaluar condiciones sobre la edad con operadores específicos de Bash y extender decisiones con elif para manejar múltiples rangos.
¿Cómo validar edad con corchetes y -le?
Usa comparadores numéricos propios del test con corchetes.
read -p "Indique cuál es su edad: " edad
if["$edad" -le 18];thenecho"La persona no puede sufragar o votar."elseecho"La persona puede sufragar."fi
Puntos clave:
[ ... ]: respeta espacios antes de ] y después de [.
-le: lower or equal (menor o igual).
Alternativas relacionadas: -ge para mayor o igual.
¿Cómo manejar múltiples rangos con elif?
Cuando hay más de dos opciones, incorpora elif y operadores lógicos.
read -p "Indique cuál es su edad: " edad
if["$edad" -le 18];thenecho"La persona es adolescente."elif["$edad" -ge 19]&&["$edad" -le 64];thenecho"La persona es adulta."elseecho"La persona es adulto mayor."fi
Puntos clave:
elif añade condiciones intermedias sin cerrar el bloque.
&& combina condiciones (AND lógico) para definir rangos.
Una vez que una condición es verdadera, las siguientes no se evalúan.
¿Qué reglas de sintaxis y operadores debes cuidar en Bash?
Mantener una sintaxis estricta evita errores sutiles. Estas son las prácticas esenciales vistas:
Espacios obligatorios en [ condición ]. Sin espacios falla.
Palabras clave en orden: if, then, elif, else, fi.
Punto y coma antes de then si escribes en la misma línea.
Comparación numérica con (( ... )) o con [-le, -ge].
Operadores lógicos: && para AND; mantén cada comparación en su propio [ ... ] para claridad.
Entrada estándar: read -p para el prompt; read -n 1 para un carácter.
Mensajes claros con echo para confirmar cada rama de decisión.
¿Tienes otra validación que quieras automatizar en Bash? Cuéntala en los comentarios y probamos juntos sus condiciones.