Cum se folosește declarația de caz Bash

How Use Bash Case Statement



Declarațiile de caz Bash sunt similare cu declarațiile if-else, dar sunt mai ușoare și mai simple. Ajută la potrivirea unei variabile cu mai multe valori. Se folosește atunci când aveți nevoie de instrucțiunile IF-else cu un număr de instrucțiuni Elif ... Este destul de similar cu declarația switch în C, însă instrucțiunea bash case nu merge înainte odată ce modelul este asociat

În acest articol, vom explica cum să utilizați declarația de caz Bash cu un exemplu în sistemul de operare Linux.







Sintaxa declarației de caz bash

Iată sintaxa pentru instrucțiunea bash case:



Sintaxă:



caz $ variabilă în
model-1)
comenzi
;;
model-2)
comenzi
;;
model-3)
comenzi
;;
model-N)
comenzi
;;
*)
comenzi
;;
esac
  • Declarația de caz începe cu caz și se termină cu esac
  • ) Este folosit pentru a termina un model. Pentru a separa mai multe modele, | operatorul este utilizat așa cum se arată mai jos:
caz $ variabilă în
model-1|model-2)
comenzi
....
....
;;
model-3|model-4)
comenzi
....
....
;;
  • Modelul cu comenzi este cunoscut sub numele de clauză și fiecare clauză se termină cu (;;).
  • Simbolul asterisc * poate fi utilizat pentru a defini majusculele.
  • Declarația de caz Bash se potrivește mai întâi cu variabila de intrare $ cu diferite modele. Dacă un model este asociat, atunci setul corespunzător de comenzi până la punct și virgulă dublă (;;) va fi executat.

Exemplul 1:

Următorul exemplu este despre extrasul de numerar bash în care îi solicită utilizatorului să introducă numele lunii. Dacă această intrare se potrivește cu modelele definite în script, va fi executată comanda echo corespunzătoare. Comanda echo va afișa informații despre evenimentul internațional din luna respectivă.





Pentru a utiliza acest script, creați un fișier text simplu; denumiți-l cu extensia de fișier .sh. Adăugați următorul script în el și salvați-l. Apoi alocați acest fișier pentru a executa permisiunile executând următoarea comandă în Terminal:

$sudo chmod 777nume de fișier.sh

Pentru a executa acest fișier bash, pur și simplu rulați ./ urmat de numele fișierului bash după cum urmează:



$./nume de fișier.sh

Când executați scriptul, vi se va cere să introduceți numele lunii ca intrare. Dacă numele lunii se potrivește, va afișa evenimentul corespunzător în acea lună specifică, altfel nu vor fi afișate informații de potrivire găsite.

Rețineți că shopt -s nocasematch este utilizat pentru a se potrivi cu modelul, indiferent de cazul său.

magazine -snocasematch

aruncat „Introduceți numele lunii”
cititlună
caz lună $ în
ianuarie)
aruncat „Ziua internațională a educației din 24 ianuarie”.
;;
februarie)
aruncat „20 februarie Ziua Mondială a Justiției Sociale”.
;;
Martie)
aruncat „8 martie Ziua internațională a femeii”.
;;
Aprilie)
aruncat „7 aprilie Ziua Mondială a Sănătății”
;;
Mai)
aruncat „Ziua internațională a familiilor din 15 mai”
;;
iunie)
aruncat „20 iunie Ziua Mondială a Refugiaților”
;;
iulie)
aruncat „11 iulie Ziua Mondială a Populației”
;;
*)
aruncat „Nu s-au găsit informații potrivite”
;;
esac

Exemplul 2:

Următorul exemplu este despre extrasul de numerar bash în care un utilizator este rugat să introducă numele țării. Dacă această intrare se potrivește cu modelele definite în script, va fi executată comanda echo corespunzătoare. Comanda echo va afișa informații despre capitala țării respective.

Pentru a utiliza acest script, urmați aceeași metodă descrisă în exemplul de mai sus. După ce ați terminat, executați scriptul și vi se va cere să introduceți numele țării ca intrare. Dacă numele țării este asociat cu numele de țară predefinite, acesta va afișa numele de capital al țării respective, în caz contrar, va fi afișat mesajul Informații nedisponibile.

#! / bin / bash
magazine -snocasematch
aruncat -n „Introduceți numele unei țări:”
cititțară

aruncat -n 'Capitala$ taraeste '
caz $ tara în
Pakistan)
aruncat -n „Islamabad”
;;
Fiji)
aruncat -n 'Uscat'
;;
Regatul Unit| 'Regatul Unit')
aruncat -n 'Londra'
;;
curcan)
aruncat -n 'Ankara'
;;
UTILIZĂRI)
aruncat -n 'Washington DC'
;;
*)
aruncat -n 'Informatia nu este disponibilă'
;;
esac
aruncat ''

Declarațiile de caz Bash fac ca scriptul bash să fie mai ușor de citit și de înțeles. În acest articol, am prezentat cum să scriem și să folosim declarații de caz bash. Acum puteți scrie un fel de declarație if-else pe mai multe niveluri cu ușurință și pur și simplu prin utilizarea declarațiilor de caz.