logo

Bash sag

I dette emne vil vi diskutere det grundlæggende i case-udsagn, og hvordan man bruger dem i Bash-scripts.

Bash-casesætningen er den enkleste form for IF-THEN-ELSE med mange ELIF-elementer. Brug af case-erklæringen gør vores bash-script mere læsbart og lettere at vedligeholde. Disse anvendes generelt for at forenkle de komplekse forhold med flere forskellige valg.

Bash-casesætningen følger en lignende logik som Javascript- eller C-switch-sætningen. Der er en lille forskel, som følger:

  • Bash-casesætningen tager en værdi én gang og tester denne værdi flere gange. Det stopper med at søge efter et mønster, når det har fundet det og udført sætningen forbundet med det, hvilket er næsten det modsatte i tilfælde af C switch-sætningen.

Case Statement Syntaks

Syntaks for bash-casesætningen er angivet nedenfor:

 case expression in pattern_1) statements ;; pattern_2) statements ;; pattern_3|pattern_4|pattern_5) statements ;; pattern-n) statements ;; *) statements ;; esac 

Der er nogle nøglepunkter i bash-caseudsagn:

  • Hver case-sætning i bash starter med nøgleordet 'case' efterfulgt af case-udtrykket og 'in' nøgleordet. Sagsfremstillingen afsluttes med 'esac' søgeord.
  • Vi kan anvende flere mønstre adskilt af | operatør. Operatoren ) angiver afslutningen af ​​en mønsterliste.
  • Et mønster, der indeholder udsagn, kaldes en klausul, og det skal afsluttes med dobbelt semikolon (;;).
  • Et stjernesymbol (*) bruges som et endeligt mønster til at definere standardsalen. Det bruges som standard tilfælde, når det bruges som det sidste tilfælde.

Hvordan det virker

Først og fremmest udvider case-sætningen udtrykket og forsøger at matche med hvert af de inkluderede mønstre. Når den finder et match, udføres alle de sammenkædede udsagn indtil det dobbelte semikolon (;;). Efter det første match afsluttes sagen med exitstatus for den sidst udførte sætning.

Hvis der ikke er noget matchende mønster, er sagens exitstatus nul. Ellers er returneringsstatus exitstatus for de udførte udsagn.

Hvis standardstjernemønsteret bruges, vil det blive udført i tilfælde af ikke matchende mønster.

Lad os prøve at forstå denne mekanisme ved hjælp af et par eksempler:

Eksempel 1

I dette eksempel har vi defineret et simpelt scenarie for at demonstrere brugen af ​​case-sætningen.

Bash Script

 #!/bin/bash echo 'Do you know Java Programming?' read -p 'Yes/No? :' Answer case $Answer in Yes|yes|y|Y) echo 'That's amazing.' echo ;; No|no|N|n) echo 'It's easy. Let's start learning from javatpoint.' ;; esac 

Produktion

Bash sag

Eksempel 2

I dette eksempel har vi defineret et kombineret scenarie, hvor der også er en standardsag, når der ikke findes nogen tidligere matchet sag.

xampp alternativ

Bash Script

 #!/bin/bash echo 'Which Operating System are you using?' echo 'Windows, Android, Chrome, Linux, Others?' read -p 'Type your OS Name:' OS case $OS in Windows|windows) echo 'That's common. You should try something new.' echo ;; Android|android) echo 'This is my favorite. It has lots of applications.' echo ;; Chrome|chrome) echo 'Cool!!! It's for pro users. Amazing Choice.' echo ;; Linux|linux) echo 'You might be serious about security!!' echo ;; *) echo 'Sounds interesting. I will try that.' echo ;; esac 

Produktion

Vi har kørt scriptet med tre forskellige input, tjek outputtet nedenfor:

Bash sag

Konklusion

I dette emne har vi lært om syntaksen og brugen af ​​Bash Case-erklæringen med eksemplerne.