Lección 15 / 20

La sentencia case

En esta lección elegirás entre varios casos según el valor de una variable.

case $variable in patrón) ... ;; esac compara el valor con cada patrón. Cada rama termina con ;;, el asterisco recoge todo lo demás y el bloque se cierra con esac, que es case al revés.

El código de ejemplo muestra un mensaje distinto según el entorno.

La diferencia con el case de otros lenguajes es que aquí los patrones admiten comodines: *.txt), [0-9]*) o varias opciones a la vez con si|s|yes). Eso lo hace bastante más expresivo que una simple comparación de igualdad.

En la práctica es lo que se usa para procesar la primera palabra de la línea de órdenes en guiones de administración: case $1 in start) ...;; stop) ...;; restart) ...;; esac. Si has mirado alguna vez un guion de arranque de servicio, esa estructura era exactamente esto.

📖 Código de referencia
✍️ Tu código
Escribe tu código y pulsa «Ejecutar»

🧪 Este sitio no puede compilar ni ejecutar Shell Script directamente, así que comprueba al instante si lo que escribiste coincide con el código de referencia (la corrección ocurre por completo en tu navegador; no se envía nada a ningún servidor).

Espacio publicitario (banner)
Espacio publicitario (en el artículo)