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ó:
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.shPer 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 -snocasematchtrobo '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 / bashbotigues -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.