0Pricing
Linux Command Line & Bash Scripting Mastery · 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 Linux Command Line & Bash Scripting Mastery 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 Linux Command Line & Bash Scripting Mastery, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Linux Command Line & Bash Scripting Mastery 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 Linux Command Line & Bash Scripting Mastery, actualiza a CoddyKit PRO. El curso de Linux Command Line & Bash Scripting Mastery 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 Linux Command Line & Bash Scripting Mastery 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 Linux Command Line & Bash Scripting Mastery?

No se requiere experiencia previa. Linux Command Line & Bash Scripting Mastery 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 Linux Command Line & Bash Scripting Mastery?

Sí. Cada lección de Linux Command Line & Bash Scripting Mastery 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 Linux Command Line & Bash Scripting Mastery