En la programación bash, la instrucción del caso ayuda a simplificar condicionales complejos cuando hay múltiples opciones diferentes. En lugar de usar declaraciones IF anidadas, podemos usar la instrucción de caso para que el código BASH sea más legible y mantenible.
La declaración del caso bash comparte similitudes con JavaScript y Cwitle C de C de C. Sin embargo, la principal diferencia es que, una vez que coincide con un patrón, no busca ninguna coincidencia de patrón adicional.
Esta guía cubrirá los conceptos básicos de la declaración de la caja de Bash con varios ejemplos.
Declaración de casos bash
La estructura fundamental de la declaración del caso es la siguiente.
casoen )
declaraciones
;;)
declaraciones
;;
*)
declaraciones
;;
ESAC
Aquí hay un breve desglose de la estructura:
Tener una comprensión de la declaración bash if-else es beneficioso para comprender y dominar la declaración del caso bash.
Ejemplos de la declaración de casos bash
Declaración de casos utilizando valores numéricos
Ahora que conocemos lo básico, es hora de verlo en acción. Eche un vistazo al siguiente guión.
#!/bin/bash
echo -n "Ingrese el valor:"
valor de lectura
Caso $ valor en
1)
echo "uno" ;;
2)
echo "dos" ;;
3)
echo "tres" ;;
4 | 5)
Echo "mayor que tres" ;;
*)
echo "valor desconocido" ;;
ESAC
Guardar el script. Marquéelo como ejecutable.
Muestra de $ chmod +x.mierda
Ahora, ejecuta el guión.
ps ./muestra.mierda
El script solicitará ingresar un valor. Si el valor coincide con cualquiera de los patrones, ejecutará la cláusula de coincidencia. Si no se encontró una coincidencia, entonces coincidirá con la cláusula predeterminada.
Declaración de casos usando cadenas
En el siguiente ejemplo, usaremos cadenas para que coincidan con los valores.
#!/bin/bash
echo -n "Ingrese el planeta:"
Leer planeta
Caso $ planeta en
Mercurio | Venus | Tierra | Marte | Júpiter | Saturno | Urano | Neptuno)
Echo "$ planeta es un planeta del sistema solar"
;;
Plutón)
echo "$ planeta es un planet enano"
;;
"Planeta nueve")
echo "$ planeta aún no descubierto"
;;
*)
Echo "no del sistema solar"
;;
ESAC
El script se ejecutará como el primer ejemplo. Solicitará un nombre de planeta, verifique si la entrada coincide con cualquier cláusula y ejecutará la cláusula coincidente.
Si examinó cuidadosamente, notará que "Planet Nine" es el único valor envuelto en cotizaciones. Es porque hay espacio en eso. Usando citas, le estamos diciendo al caparazón que lo trate como parte de un solo patrón.
Sensibilidad al caso en el estado de cuenta
Tenga en cuenta que en el último ejemplo, la entrada es sensible a los casos. Este es el comportamiento de bash predeterminado. Sin embargo, podemos decirle a Shell que ejecute el script en modo insensible.
Para hacerlo, agregue la siguiente línea al inicio del script.
$ shopt -s nocasematch
El guión debería verse así.
Ahora, prueba el script. Ingrese el valor con un caso diferente.
ps ./muestra.mierda
Pensamiento final
Esta guía cubre los conceptos básicos de las declaraciones de casos bash. También demuestra cómo implementarlos en scripts bash. Debe sentirse cómodo usando la declaración de casos. Las declaraciones de casos bash a menudo se usan para pasar parámetros a scripts de shell desde una línea de comandos. Por ejemplo, el init scripts usa declaraciones de casos para comenzar, detener y reiniciar servicios. Después de leer esta guía, podrá implementar la declaración de casos bash en sus scripts.
Computación feliz!