Androide

Declaración del caso Bash

Bash Shell Scripting Tutorial | Shell Scripting Tutorial | Learn Shell Programming

Bash Shell Scripting Tutorial | Shell Scripting Tutorial | Learn Shell Programming

Tabla de contenido:

Anonim

Las declaraciones de caso Bash generalmente se usan para simplificar condicionales complejos cuando tiene múltiples opciones diferentes. El uso de la instrucción case en lugar de las instrucciones if anidadas lo ayudará a hacer que sus secuencias de comandos bash sean más legibles y fáciles de mantener.

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

En este tutorial, cubriremos los conceptos básicos de las declaraciones de casos de Bash y le mostraremos cómo usarlos en sus scripts de shell.

Sintaxis de declaración de caso

La declaración del caso Bash toma la siguiente forma:

case EXPRESSION in PATTERN_1) STATEMENTS;; PATTERN_2) STATEMENTS;; PATTERN_N) STATEMENTS;; *) STATEMENTS;; esac

  • Cada declaración de caso comienza con la palabra clave case seguida de la expresión case y la palabra clave in . La declaración termina con la palabra clave esac . Puede usar múltiples patrones separados por | 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 terminarse 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 ningún patrón coincide, 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 la declaración de caso en un script bash que imprimirá el idioma oficial de un país dado:

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 a 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

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

Conclusión

A estas alturas ya debe tener una buena comprensión de cómo escribir declaraciones de casos bash. A menudo se usan para pasar parámetros a un script de shell desde la línea de comandos. Por ejemplo, los scripts de inicio están utilizando declaraciones de casos para iniciar, detener o reiniciar servicios.

terminal de bash