If Anidados
Clase 20 de 43 • Curso de Programación en Bash Shell
Contenido del curso
Programación Shell Básica
Script Interactivos
Condicionales
Iteración
Archivos
Empaquetamiento
Funciones
Cierre del curso
Domina los IF anidados en Bash con un flujo claro: primero validas la nota de un alumno y, si aprueba, abres una segunda decisión para saber si continuará en el siguiente nivel. Verás cómo usar operadores lógicos y condicionales, la sintaxis con corchetes y el cierre con la palabra reservada fi en un script .sh dentro de Ubuntu Server.
¿Qué son los IF anidados y para qué sirven?
Los IF anidados son condiciones dentro de otras condiciones: un if se ejecuta solo si el if principal se cumple. Permiten validaciones internas tras una evaluación principal, muy usados en algoritmos numéricos cuando una decisión depende de otra. Así, tras decidir si el alumno aprueba, se valida si continuará estudiando en el mismo colegio con una segunda condición.
¿Cómo se implementa un IF anidado en un script .sh?
A partir de un archivo .sh, se ajusta la sintaxis de corchetes para las condiciones y se emplean operadores como -ge (mayor o igual) y == para cadenas. Se pide la nota, se valida el resultado y, si aprueba, se consulta si continúa en el siguiente nivel con una segunda condición.
¿Cómo validar la nota con operadores condicionales?
- Usa
[ "$nota" -ge 7 ]para aprobar con nota mayor o igual a 7. - Estructura con if, then, else, y cierra con fi.
- Mantén espacios alrededor de los corchetes y el operador.
¿Cómo preguntar si continúa estudiando con comparación de cadenas?
- Lee una variable
continuay compárala con==contraSoN. - Si es
S, muestra “Bienvenido al siguiente nivel.”. - Si es
N, muestra “Gracias por trabajar con nosotros. Mucha suerte.”.
¿Cuál es el flujo completo en Bash?
#!/bin/bash
# Programa para ejemplificar el uso de los IF anidados
echo "¿Cuál es su nota?"
read nota
if [ "$nota" -ge 7 ]; then
echo "El alumno aprueba la materia."
echo "¿Va a continuar estudiando en el siguiente nivel? (S/N)"
read continua
if [ "$continua" == "S" ]; then
echo "Bienvenido al siguiente nivel."
else
echo "Gracias por trabajar con nosotros. Mucha suerte."
fi
else
echo "El alumno reprueba la materia."
fi
- Nota y validación principal: se decide si aprueba o reprueba.
- Segunda validación anidada: solo si aprueba se pregunta si continúa.
- Cierre correcto: cada if se cierra con su propio fi.
¿Qué habilidades, conceptos y keywords refuerzas con este ejemplo?
Este caso desarrolla competencias prácticas en Bash y scripting.
- IF anidados: condición dentro de otra condición para validar decisiones encadenadas.
- Operadores condicionales numéricos:
-gepara mayor o igual que 7. - Comparación de cadenas:
==para evaluarSoNencontinua. - Sintaxis con corchetes:
[ condición ]con espacios obligatorios. - Estructura de control: if, then, else, fi para abrir y cerrar bloques.
- Entrada de usuario:
readpara capturarnotaycontinua. - Mensajería:
echopara comunicar estados: aprueba, reprueba, continúa o no continúa. - Práctica en Ubuntu Server: edición y ejecución de un script
.shcon cambios de sintaxis.
¿Te gustaría que exploremos más validaciones anidadas o añadamos rangos de calificaciones? Deja tus dudas o ideas en los comentarios.