Cómo utilizar la declaración de caso de Bash

How Use Bash Case Statement



Las declaraciones de caso Bash son similares a las declaraciones if-else pero son más fáciles y simples. Ayuda a hacer coincidir una variable con varios valores. Se usa cuando necesita las declaraciones IF-else con una serie de declaraciones Elif ... Es bastante similar a la declaración switch en C, sin embargo, la declaración bash case no avanza una vez que el patrón coincide

En este artículo, explicaremos cómo usar la declaración de caso de Bash con un ejemplo en el sistema operativo Linux.







Sintaxis de la declaración de caso de bash

Aquí está la sintaxis de la declaración de caso de bash:



Sintaxis:



caso $variable en
patrón-1)
comandos
;;
patrón-2)
comandos
;;
patrón-3)
comandos
;;
patrón-N)
comandos
;;
*)
comandos
;;
esac
  • La declaración de caso comienza con case y termina con esac
  • ) Se utiliza para terminar un patrón. Para separar varios patrones, | operador se utiliza como se muestra a continuación:
caso $variable en
patrón-1|patrón-2)
comandos
....
....
;;
patrón-3|patrón-4)
comandos
....
....
;;
  • El patrón con comandos se conoce como cláusula y cada cláusula termina con (;;).
  • El símbolo de asterisco * se puede utilizar para definir el caso predeterminado.
  • La declaración del caso Bash primero hace coincidir la variable $ de entrada con los diferentes patrones. Si un patrón coincide, se ejecutará el conjunto de comandos correspondiente hasta el doble punto y coma (;;).

Ejemplo 1:

El siguiente ejemplo es sobre el estado de cuenta de bash en el que le pide al usuario que ingrese el nombre del mes. Si esta entrada coincide con los patrones definidos en el script, se ejecutará el comando de eco correspondiente. El comando echo mostrará información sobre el evento internacional de ese mes en particular.





Para utilizar este script, cree un archivo de texto simple; asígnele el nombre con la extensión de archivo .sh. Agregue el siguiente script en él y guárdelo. Luego asigne este archivo para ejecutar permisos ejecutando el siguiente comando en Terminal:

$sudo chmod 777filename.sh

Para ejecutar este archivo bash, simplemente ejecute ./ seguido del nombre del archivo bash de la siguiente manera:



$./filename.sh

Cuando ejecute el script, se le pedirá que ingrese el nombre del mes como entrada. Si el nombre del mes coincide, mostrará el evento correspondiente en ese mes específico; de lo contrario, no se mostrará la información que coincida.

Tenga en cuenta que shopt -s nocasematch se usa para hacer coincidir el patrón independientemente de su caso.

tiendas -snocasematch

echo 'Ingrese el nombre del mes'
leermes
caso $ mes en
enero)
echo '24 de enero Día Internacional de la Educación'.
;;
febrero)
echo '20 de febrero Día Mundial de la Justicia Social'.
;;
marcha)
echo '8 de marzo Día Internacional de la Mujer'.
;;
abril)
echo '7 de abril Día Mundial de la Salud'
;;
Mayo)
echo 'El 15 de mayo Día Internacional de la Familia'
;;
junio)
echo '20 de junio Día Mundial de los Refugiados'
;;
julio)
echo '11 de julio Día Mundial de la Población'
;;
*)
echo 'No se encontró información coincidente'
;;
esac

Ejemplo 2:

El siguiente ejemplo es sobre el estado de cuenta de bash en el que se le pide a un usuario que ingrese el nombre del país. Si esta entrada coincide con los patrones definidos en el script, se ejecutará el comando de eco correspondiente. El comando echo mostrará información sobre la capital de ese país en particular.

Para utilizar este script, siga el mismo método descrito en el ejemplo anterior. Una vez hecho esto, ejecute el script y se le pedirá que ingrese el nombre del país como entrada. Si el nombre del país coincide con los nombres de países predefinidos, se mostrará el nombre en mayúscula de ese país; de lo contrario, se mostrará el mensaje Información no disponible.

#! / bin / bash
tiendas -snocasematch
echo -norte 'Ingrese el nombre de un país:'
leerpaís

echo -norte 'La capital de$ países '
caso $ país en
Pakistán)
echo -norte 'Islamabad'
;;
Fiyi)
echo -norte 'Seco'
;;
Reino Unido| 'Reino Unido')
echo -norte 'Londres'
;;
pavo)
echo -norte 'Ankara'
;;
USA)
echo -norte 'Washington DC'
;;
*)
echo -norte 'Información no disponible'
;;
esac
echo ''

Las declaraciones de casos de bash facilitan la lectura y la comprensión del script bash. En este artículo, hemos cubierto cómo escribir y usar declaraciones de casos de bash. Ahora puede escribir una especie de declaración if-else multinivel fácil y simplemente mediante el uso de declaraciones case.