0Pricing
DevOps Bootcamp · Lección

La sentencia case y la coincidencia de patrones

Cree bifurcaciones claras para muchos valores. Aprenda la sentencia case, los patrones glob, las coincidencias con varios patrones y por qué es mejor que encadenar muchos if-elif.

La sentencia case y la coincidencia de patrones es una lección gratuita de DevOps Bootcamp en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de DevOps Bootcamp, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de DevOps Bootcamp incluye 4 lecciones en total.

¿Por qué case?

Cuando una variable puede adoptar muchos valores, una cadena larga de if/elif/elif resulta poco clara. La instrucción case compara un valor con patrones y es mucho más legible.

Sintaxis básica

Un bloque case compara un valor con patrones, cada uno terminado en ) y con un cuerpo que finaliza en ;;. El bloque completo termina con esac.

case "$fruit" in
  apple) echo "red";;
  banana) echo "yellow";;
esac

El caso predeterminado

El patrón *) coincide con cualquier elemento y actúa como valor predeterminado general, igual que else.

case "$cmd" in
  start) echo "starting";;
  stop) echo "stopping";;
  *) echo "unknown command";;
esac

Comparar varios patrones

Use | para comparar varios patrones en una misma rama.

case "$ans" in
  y|Y|yes) echo "Confirmed";;
  n|N|no) echo "Cancelled";;
esac

Patrones glob

Los patrones utilizan globbing del shell, no expresiones regulares: * coincide con cualquier cadena, ? con un carácter individual y [...] con una clase de caracteres.

case "$file" in
  *.txt) echo "text file";;
  *.jpg|*.png) echo "image";;
esac

Intervalos de caracteres

Los patrones entre corchetes comparan intervalos, lo que resulta práctico para agrupar por la primera letra o dígito.

case "$ch" in
  [a-z]) echo "lowercase";;
  [0-9]) echo "digit";;
esac

Un menú sencillo

case resulta especialmente útil en scripts controlados por menús, donde el usuario elige una opción.

read -p "Choice: " opt
case "$opt" in
  1) backup;;
  2) restore;;
  *) echo "Invalid";;
esac

case frente a if

Use if para condiciones booleanas complejas (intervalos, comparaciones o varias variables). Use case cuando la ramificación dependa del valor o patrón de una sola variable.

Entrecomillar el valor

Entrecomille el valor que se compara ("$var") para gestionar de forma segura los valores vacíos o que contienen espacios.

case "$input" in
  "") echo "empty";;
  *) echo "got: $input";;
esac

Continuación con ;;&

Bash admite ;;& para seguir comprobando los patrones posteriores después de una coincidencia, lo que permite activar varias ramas.

case "$f" in
  *.tar) echo "tar";;&
  *.gz) echo "gzip";;
esac

Distribución de argumentos

Un uso habitual en situaciones reales es distribuir la ejecución según el primer argumento del script para implementar subcomandos, como en una herramienta CLI.

case "$1" in
  init) do_init;;
  build) do_build;;
  *) echo "usage: $0 {init|build}";;
esac

Comprobación rápida

Compruebe su comprensión.

Repaso

Ha aprendido la instrucción case: comparar un valor con patrones glob, terminar las ramas con ;;, combinar patrones con |, usar *) como valor predeterminado y preferir case a largas cadenas de if-elif para distribuir de forma clara según valores y argumentos.

Preguntas frecuentes

¿La lección «La sentencia case y la coincidencia de patrones» es gratis?

Sí — el texto completo de «La sentencia case y la coincidencia de patrones» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de DevOps Bootcamp, actualiza a CoddyKit PRO. El curso de DevOps Bootcamp incluye 4 lecciones en total.

¿Qué aprenderé en «La sentencia case y la coincidencia de patrones»?

Cree bifurcaciones claras para muchos valores. Aprenda la sentencia case, los patrones glob, las coincidencias con varios patrones y por qué es mejor que encadenar muchos if-elif. Practicas DevOps Bootcamp con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar DevOps Bootcamp?

No se requiere experiencia previa. DevOps Bootcamp en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.

¿Cuánto tiempo toma la lección «La sentencia case y la coincidencia de patrones»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de DevOps Bootcamp?

Sí. Cada lección de DevOps Bootcamp incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Estructuras de bucle (for, while)
  2. Funciones en scripts de Bash
  3. Argumentos y opciones de scripts ($@, $#, getopts)
  4. La sentencia case y la coincidencia de patrones
← Volver a DevOps Bootcamp