GNU/Linux >> Tutoriales Linux >  >> Linux

Declaración de caso Bash

El case de bash La declaración generalmente se usa para simplificar condicionales complejos cuando tiene varias opciones diferentes. Usando el case declaración en lugar de anidado if declaraciones lo ayudarán a hacer que sus scripts de bash sean más legibles y fáciles de mantener.

El case de Bash declaración tiene un concepto similar con Javascript o C switch declaración. La principal diferencia es que, a diferencia del switch de C declaración, el case de Bash la declaración no continúa buscando una coincidencia de patrón una vez que ha encontrado una y ha ejecutado declaraciones asociadas con ese patrón.

En este tutorial, cubriremos los conceptos básicos del case de Bash instrucción y mostrarle cómo usarla en sus scripts de shell.

case Sintaxis de declaración #

El case de Bash declaración toma la siguiente forma:

case EXPRESSION in

  PATTERN_1)
    STATEMENTS
    ;;

  PATTERN_2)
    STATEMENTS
    ;;

  PATTERN_N)
    STATEMENTS
    ;;

  *)
    STATEMENTS
    ;;
esac
  • Cada case La declaración comienza con case palabra clave, seguida de la expresión de mayúsculas y minúsculas y in palabra clave. La declaración termina con el esac palabra clave.
  • Puede usar múltiples patrones separados por el | operador. El ) operador termina una lista de patrones.
  • Un patrón puede tener caracteres especiales.
  • Un patrón y sus comandos asociados se conocen como una 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 usar el símbolo de asterisco comodín (* ) como patrón final para definir el caso predeterminado. Este patrón siempre coincidirá.
  • Si no coincide ningún patrón, el estado de retorno es cero. De lo contrario, el estado de retorno es el estado de salida de los comandos ejecutados.

Ejemplo de declaración de caso #

Aquí hay un ejemplo usando el case declaración en un script bash que imprimirá el idioma oficial de un país determinado:

languages.sh
#!/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 comandos.

bash languages.sh

El script le pedirá que ingrese un país. Por ejemplo, si escribe "Lituania", coincidirá con el primer patrón y el echo se ejecutará el comando 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 echo comando dentro de la cláusula predeterminada.

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

Conclusión #

A estas alturas ya debería tener una buena comprensión de cómo escribir bash case declaraciones. 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 están usando case instrucciones para iniciar, detener o reiniciar servicios.

Si tiene alguna pregunta o comentario, no dude en dejar un comentario.


Linux
  1. Cómo usar la declaración condicional if else en Bash Script

  2. Declaración de Bash If-Else con ejemplos

  3. 4 Ejemplos de declaraciones If de Bash (If then fi, If then else fi, If elif else fi, Nested if)

  4. 5 ejemplos de declaraciones de casos Bash

  5. declaración Bash/sh 'if else'

Declaración de Bash if..else

Bash Shebang

Bash Scripting – Declaración de caso

Cómo trabajar con declaraciones de casos en scripts Bash

Sintaxis de Bash If Else con ejemplos

Comprender Bash If Else y otras declaraciones condicionales