Sentencias Case
Clase 22 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 la sentencia case en Bash con un ejemplo claro en Ubuntu. Aprende a evaluar opciones individuales y rangos de valores, similar a un switch, para construir menús interactivos y decisiones limpias en tus scripts. Verás cómo solicitar una opción de la A a la Z y responder con acciones específicas.
¿Qué es la sentencia case y para qué sirve en Bash?
La sentencia case permite validar una expresión simple (un número o una cadena) y compararla contra patrones definidos. También admite rangos de valores, muy útil cuando se requieren menús con varias opciones sin anidar múltiples IFs.
¿Qué valida y cómo se compara con switch?
- Evalúa una cadena o número contra patrones definidos.
- Se parece a un switch: cada patrón ejecuta un bloque.
- Soporta rangos como [C-E] para agrupar opciones.
¿Por qué usarla para menús y decisiones?
- Código más claro y mantenible.
- Manejo sencillo de muchas opciones.
- Soporte de un caso por defecto para entradas inválidas.
¿Cómo se construye el patrón con opciones y rangos?
Para este ejemplo, se crea una variable llamada "opción", se solicita un valor de la A a la Z, y se responde según el patrón elegido. Se muestran tres casos: A, B, y un rango de C a E; cualquier otro valor será incorrecto.
¿Cómo luce el código base en Bash?
echo -e "\nEjemplo: sentencia case"
read -p "Ingrese una opción de la A a la Z: " opcion
case "$opcion" in
"A")
echo -e "\nOperación, guardar archivo";;
"B")
echo "Operación, eliminar archivo";;
[C-E])
echo "No está implementada la operación";;
*)
echo "Opción incorrecta";;
# fin de patrones
esac
¿Qué puntos de sintaxis debes cuidar?
- case VARIABLE in: inicia la evaluación de patrones.
- Patrón ): abre el bloque de la opción, por ejemplo "A").
- ;;: termina cada bloque de opción, es obligatorio.
- [C-E]: define un rango de valores de C a E.
- *): patrón comodín para cualquier valor no contemplado.
- esac: cierra la sentencia case.
- echo -e: permite usar saltos de línea con \n.
¿Qué resultados obtendrás al ejecutar el script?
Al probar el flujo, se observa lo siguiente según la entrada ingresada: - Si ingresas A: se muestra "Operación, guardar archivo". - Si ingresas B: se muestra "Operación, eliminar archivo". - Si ingresas un valor del rango C a E (por ejemplo D): se muestra "No está implementada la operación". - Si ingresas otro valor: se muestra "Opción incorrecta".
Este enfoque demuestra que case puede validar una expresión simple con conjunto de valores y rangos, ideal para manejar menús. Además, se conecta con habilidades ya vistas: IFs y expresiones condicionales, y prepara el terreno para trabajar luego con iteraciones y seguir construyendo utilidades en Postgres.
¿Te gustaría ver variantes con números o validar otros rangos? Deja un comentario con tus dudas o ejemplos que quieras practicar.