Cómo usar la sentencia Case de Bash

Cómo usar la sentencia Case de Bash

Si eres nuevo en la programación de Shell scripting en Bash, es posible que no estés familiarizado con la sentencia `case`. Es una estructura de control condicional que se utiliza para comparar una variable con varios valores posibles, y ejecutar una acción en función de la coincidencia. La sentencia `case` es muy útil cuando necesitas realizar acciones diferentes en función de los distintos casos posibles. En este artículo, exploraremos cómo utilizar la sentencia `case` de Bash y veremos algunos ejemplos prácticos.

📋 Aquí podrás encontrar✍
  1. Sintaxis
  2. Ejemplos
    1. Ejemplo 1: Evaluación de una variable
    2. Ejemplo 2: Uso de patrones
    3. Ejemplo 3: Combinación de casos
  3. Conclusión
  4. Preguntas frecuentes
    1. ¿La sentencia 'case' es exclusiva de Bash?
    2. ¿La sentencia 'case' es lo mismo que 'if'?
    3. ¿Es necesario incluir siempre el 'comando default' en la sentencia 'case'?
    4. ¿Qué pasa si se omiten los doble puntos ':' después de los 'valores' en la sentencia 'case'?
  5. Ejemplos de código

Sintaxis

La sintaxis básica de la sentencia `case` es la siguiente:

case variable in
valor1)
comando1
;;
valor2)
comando2
;;
*)
comandodefault
;;
esac

Donde:
- `variable` es la variable que se va a comparar.
- `valor1, valor2` son los valores con los que se va a comparar la variable.
- `comando1, comando2` son las acciones a ejecutar si `variable` coincide con `valor1, valor2`.
- `comandodefault` es la acción a ejecutar si no coincide con ninguno de los valores.
- `esac` indica que la sentencia `case` ha terminado.

Es importante tener en cuenta que `;;

Ejemplos

Ejemplo 1: Evaluación de una variable

Supongamos que tenemos una variable `color` que puede tener uno de los siguientes valores: `rojo`, `azul`, `verde` o `amarillo`. Queremos imprimir un mensaje diferente en función del valor de la variable. El siguiente código muestra cómo se puede hacer esto con una sentencia `case`:

#!/bin/bash
color="rojo"
case $color in
rojo)
echo "El color es rojo"
;;
azul)
echo "El color es azul"
;;
verde)
echo "El color es verde"
;;
amarillo)
echo "El color es amarillo"
;;
*)
echo "El color no está en la lista"
;;
esac

La salida del código anterior será:

El color es rojo

Ejemplo 2: Uso de patrones

La sentencia `case` también es útil para comprobar si una cadena cumple algún patrón. En el siguiente ejemplo, se comprueba si una cadena comienza por una letra mayúscula:

#!/bin/bash
cadena="Hola, mundo!"
case $cadena in
[A-Z]*)
echo "La cadena empieza por una letra mayúscula"
;;
*)
echo "La cadena no empieza por una letra mayúscula"
;;
esac

La salida del código anterior será:

La cadena empieza por una letra mayúscula

Ejemplo 3: Combinación de casos

Es posible combinar varios casos en uno. En el siguiente ejemplo, se comprueba si una variable es igual a `hola` o `adiós`:

#!/bin/bash
saludo="hola"
case $saludo in
hola | adiós)
echo "El saludo es 'hola' o 'adiós'"
;;
*)
echo "El saludo no es 'hola' ni 'adiós'"
;;
esac

La salida del código anterior será:

El saludo es 'hola' o 'adiós'

Conclusión

La sentencia `case` es una herramienta muy útil en Bash para ejecutar diferentes acciones en función de distintos casos. En este artículo, hemos visto cómo utilizar la sintaxis de la sentencia `case` y hemos visto algunos ejemplos prácticos. Si te dedicas a la programación de Shell scripting en Bash, la sentencia `case` es una herramienta que deberías conocer y dominar.

Preguntas frecuentes

¿La sentencia 'case' es exclusiva de Bash?

No, la sentencia `case` también se utiliza en otros lenguajes de programación, como Perl y Ruby.

¿La sentencia 'case' es lo mismo que 'if'?

No, aunque ambas estructuras se utilizan para tomar decisiones en función de ciertas condiciones, la sentencia `case` se utiliza específicamente para comparar una variable con varios valores posibles.

¿Es necesario incluir siempre el 'comando default' en la sentencia 'case'?

No, no es obligatorio incluir el comando default en la sentencia `case`. Sin embargo, es una buena práctica para asegurarse de que el código se ejecuta correctamente incluso si no se cumple ninguna de las condiciones anteriores.

¿Qué pasa si se omiten los doble puntos ':' después de los 'valores' en la sentencia 'case'?

Si se omiten los doble puntos después de los valores en la sentencia `case`, el código generará un error. Los doble puntos son necesarios para indicar que se van a ejecutar ciertos comandos en caso de que la variable coincida con ese valor.

Ejemplos de código

Aquí hay algunos ejemplos prácticos de la sentencia `case` que puedes probar tú mismo:

1. Comprobar si un número es par o impar.
2. Comprobar si un archivo existe o no.
3. Comprobar si una variable es igual a `true` o `false`.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir

Este sitio web utiliza Cookies propias y de terceros de análisis para recopilar información con la finalidad de mejorar nuestros servicios, así como para el análisis de su navegación. Si continua navegando, se acepta el uso y si no lo desea puede configurar el navegador. CÓMO CONFIGURAR