Sentencias Case

Clase 22 de 43Curso de Programación en Bash Shell

Resumen

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.