Com s'utilitza la declaració de cas Bash

How Use Bash Case Statement



Les declaracions de cas de Bash són similars a les afirmacions if-else, però són més fàcils i senzilles. Ajuda a fer coincidir una variable amb diversos valors. S'utilitza quan es requereixen les sentències IF-else amb diverses sentències Elif ... És bastant similar a la sentència switch en C, però la sentència bash case no avança un cop coincideix el patró.

En aquest article, explicarem com utilitzar la sentència de cas Bash amb exemple en Linux OS.







Sintaxi de la declaració de cas bash

Aquí teniu la sintaxi de la sentència bash case:



Sintaxi:



Caixa $ variable dins
patró-1)
ordres
;;
patró-2)
ordres
;;
patró-3)
ordres
;;
patró-N)
ordres
;;
*)
ordres
;;
esac
  • La sentència de cas comença amb majúscules i acaba amb esac
  • El) s’utilitza per acabar un patró. Per separar diversos patrons, | s'utilitza l'operador com es mostra a continuació:
Caixa $ variable dins
patró-1|patró-2)
ordres
....
....
;;
patró-3|patró-4)
ordres
....
....
;;
  • El patró amb ordres es coneix com a clàusula i cada clàusula acaba amb (;;).
  • El símbol d'asterisc * es pot utilitzar per definir el cas predeterminat.
  • La declaració de cas de Bash coincideix primer amb la variable $ d'entrada amb els diferents patrons. Si es fa coincidir un patró, s'executarà el conjunt d'ordres corresponent fins al punt i coma doble (;;).

Exemple 1:

L'exemple següent tracta de l'extracte de caixa bash en què demana a l'usuari que introdueixi el nom del mes. Si aquesta entrada coincideix amb els patrons definits a l'script, s'executarà l'ordre de ressò corresponent. L'ordre echo mostrarà informació sobre l'esdeveniment internacional d'aquest mes en concret.





Per utilitzar aquest script, creeu un fitxer de text senzill; anomeneu-lo amb una extensió de fitxer .sh. Afegiu-hi el següent script i deseu-lo. A continuació, assigneu aquest fitxer per executar permisos executant l'ordre següent a Terminal:

$suo chmod 777filename.sh

Per executar aquest fitxer bash, simplement executeu ./ seguit del nom del fitxer bash de la següent manera:



$./filename.sh

Quan executeu l'script, se us demanarà que introduïu el nom del mes com a entrada. Si el nom del mes coincideix, es mostrarà l'esdeveniment corresponent en aquest mes específic, en cas contrari No es mostrarà cap informació coincident.

Tingueu en compte que shopt -s nocasematch s’utilitza per coincidir amb el patró independentment del seu cas.

botigues -snocasematch

trobo 'Introduïu el nom del mes'
llegirmes
Caixa $ mes dins
Gener)
trobo 'Dia internacional de l'educació del 24 de gener'.
;;
Febrer)
trobo '20 de febrer, Dia Mundial de la Justícia Social'.
;;
Març)
trobo '8 de març Dia internacional de la dona'.
;;
Abril)
trobo '7 d'abril, el Dia Mundial de la Salut'
;;
Maig)
trobo 'El Dia Internacional de les Famílies del 15 de maig'
;;
juny)
trobo 'Dia Mundial del Refugiat del 20 de juny'
;;
Juliol)
trobo 'Dia mundial de la població de l'11 de juliol'
;;
*)
trobo 'No s'ha trobat cap informació coincident'
;;
esac

Exemple 2:

L'exemple següent tracta de l'extracte de caixa bash en què es demana a un usuari que introdueixi el nom del país. Si aquesta entrada coincideix amb els patrons definits a l'script, s'executarà l'ordre de ressò corresponent. L'ordre echo mostrarà informació sobre la capital d'aquest país concret.

Per utilitzar aquest script, seguiu el mateix mètode descrit a l'exemple anterior. Un cop fet, executeu l'script i se us demanarà que introduïu el nom del país com a entrada. Si el nom del país coincideix amb els noms de país predefinits, es mostrarà el nom de la capital d'aquest país; en cas contrari, es mostrarà el missatge Informació no disponible.

#! / bin / bash
botigues -snocasematch
trobo -n 'Introduïu el nom d'un país:'
llegirpaís

trobo -n 'La capital de$ paísés '
Caixa $ país dins
Pakistan)
trobo -n 'Islamabad'
;;
Fiji)
trobo -n 'Sec'
;;
UK| 'Regne Unit')
trobo -n 'Londres'
;;
Turquia)
trobo -n 'Ankara'
;;
USA)
trobo -n 'Washington dc'
;;
*)
trobo -n 'Informació no disponible'
;;
esac
trobo ''

Les declaracions de casos de Bash fan que l’escriptura bash sigui més fàcil de llegir i entendre. En aquest article, hem tractat com escriure i utilitzar declaracions de cas bash. Ara podeu escriure una mena d’enunciats if-else multinivell fàcilment i senzilla mitjançant l’ús d’enunciats de cas.