Declaración de caso en Bash

27 mar 2024 2 min di lettura
Declaración de caso en Bash
Indice dei contenuti

Introducción

La declaración case de bash se usa generalmente para simplificar condicionales complejos cuando hay varias opciones diferentes. Usar la declaración case en lugar de declaraciones if anidadas ayudará a que sus scripts bash sean más legibles y fáciles de mantener.

La declaración Bash tiene un concepto similar a la declaración case en Javascript o switch en C. La principal diferencia es que, a diferencia de la declaración switch de C, la declaración case de Bash no continúa buscando un patrón coincidente una vez que lo encuentra. ejecutó las instrucciones asociadas con ese patrón.

Este tutorial cubrirá los conceptos básicos de la declaración case de Bash y le mostrará cómo usarlo en sus scripts de shell.

Sintaxis de declaración de caso

La sintaxis de la declaración de casos de Bash consta de la palabra clave case " " seguida del valor a coincidir, la in " " y uno o más patrones con los bloques de código correspondientes encerrados en ;; instrucciones " ":

case EXPRESSION in

 PATTERN_1)
 STATEMENTS
 ;;

 PATTERN_2)
 STATEMENTS
 ;;

 PATTERN_N)
 STATEMENTS
 ;;

 *)
 STATEMENTS
 ;;
 esac
  • Cada declaración case comienza con la palabra clave case, seguida de la expresión que distingue entre mayúsculas y minúsculas y la palabra clave in. La declaración termina con la palabra clave esac.
  • Puede utilizar varias plantillas separadas por el operador |. El operador ) finaliza una lista de patrones.
  • Un patrón puede contener caracteres especiales.
  • Una plantilla y sus comandos asociados se conocen como cláusula.
  • Cada cláusula debe terminar con ;;.
  • Se ejecutan los comandos correspondientes al primer patrón que coincide con la expresión.
  • Es una práctica común utilizar el símbolo de asterisco comodín ( * ) como patrón final para definir el caso predeterminado. Este patrón siempre coincidirá.
  • Si no se encuentra ningún patrón, el estado devuelto es cero. De lo contrario, el estado de retorno es el estado de salida de los comandos ejecutados.

Ejemplo de declaración de caso

A continuación se muestra un ejemplo del uso de una declaración case en un script bash que imprime el idioma oficial de un país en particular:

#!/bin/bash

 echo -n "Enter the name of a country: "
 read COUNTRY

 echo -n "The official language of $COUNTRY is "

 case $COUNTRY in

 Lithuania)
 echo -n "Lithuanian"
 ;;

 Romania | Moldova)
 echo -n "Romanian"
 ;;

 Italy | "San Marino" | Switzerland | "Vatican City")
 echo -n "Italian"
 ;;

 *)
 echo -n "unknown"
 ;;
 esac

Guarde el script personalizado como un archivo y ejecútelo desde la línea de comando.

bash languages.sh

El script le pedirá que ingrese un país. Por ejemplo, si escribe "Lituania", coincidirá con el primer patrón y se ejecutará el comando echo en esa cláusula.

El script imprimirá el siguiente resultado:

Enter the name of a country: Lithuania
 The official language of Lithuania is Lithuanian

Si ingresa un país que no coincide con ningún otro patrón excepto el símbolo de asterisco comodín predeterminado, digamos Argentina, el script ejecutará el comando echo dentro de la cláusula predeterminada.

Enter the name of a country: Argentina
 The official language of Argentina is unknown

Conclusión

En este punto, debería tener una buena comprensión de cómo escribir declaraciones case de bash. A menudo se utilizan para pasar parámetros a un script de shell desde la línea de comandos. Por ejemplo, los scripts de inicio utilizan declaraciones case para iniciar, detener o reiniciar servicios.

Buy me a coffeeBuy me a coffee

Supportaci se ti piacciono i nostri contenuti. Grazie.

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.