Kaip naudoti „Bash“ bylos teiginį

How Use Bash Case Statement



„Bash“ teiginiai yra panašūs į „if-else“ teiginius, tačiau yra lengvesni ir paprastesni. Tai padeda suderinti vieną kintamąjį su keliomis vertėmis. Jis naudojamas, kai jums reikia IF-else teiginių su daugybe Elif teiginių ... Tai gana panašu į C perjungimo teiginį, tačiau bash case teiginys nejuda į priekį, kai modelis suderinamas

Šiame straipsnyje paaiškinsime, kaip naudoti „Bash case“ teiginį su pavyzdžiu „Linux“ OS.







Bash atvejo teiginio sintaksė

Čia yra „bash case“ teiginio sintaksė:



Sintaksė:



atvejis $ kintamasis į
modelis-1)
komandas
;;
modelis-2)
komandas
;;
modelis-3)
komandas
;;
modelis-N)
komandas
;;
*)
komandas
;;
esac
  • Bylos pareiškimas prasideda byla ir baigiasi esac
  • ) Naudojamas šablonui nutraukti. Norėdami atskirti kelis modelius, | operatorius naudojamas kaip parodyta žemiau:
atvejis $ kintamasis į
modelis-1|modelis-2)
komandas
....
....
;;
modelis-3|modelis-4)
komandas
....
....
;;
  • Šablonas su komandomis yra žinomas kaip sakinys, o kiekvienas punktas baigiasi (;;).
  • Žvaigždutės simbolis* gali būti naudojamas numatytosioms raidėms apibrėžti.
  • Bash case teiginys pirmiausia atitinka įvesties $ kintamąjį su skirtingais modeliais. Jei modelis atitinka, tada bus vykdomas atitinkamas komandų rinkinys iki dvigubų kabliataškių (;;).

1 pavyzdys:

Šis pavyzdys yra apie „bash“ grynųjų pinigų išrašą, kuriame jis prašo vartotojo įvesti mėnesio pavadinimą. Jei ši įvestis atitinka apibrėžtus scenarijaus modelius, bus vykdoma atitinkama echo komanda. Echo komandoje bus rodoma informacija apie tarptautinį to mėnesio įvykį.





Norėdami naudoti šį scenarijų, sukurkite paprastą teksto failą; pavadinkite jį .sh failo plėtiniu. Į jį pridėkite šį scenarijų ir išsaugokite. Tada priskirkite šį failą vykdyti leidimus vykdydami šią komandą terminale:

$sudo chmod 777failo pavadinimas.sh

Norėdami vykdyti šį „bash“ failą, tiesiog paleiskite ./, o po to - „bash“ failo pavadinimą:



$./failo pavadinimas.sh

Kai vykdote scenarijų, jūsų bus paprašyta įvesti mėnesio pavadinimą. Jei sutampa mėnesio pavadinimas, jame bus rodomas atitinkamas įvykis tą mėnesį, priešingu atveju nebus pateikta jokios atitinkamos informacijos.

Atminkite, kad „shopt -s nocasematch“ naudojamas modeliui suderinti, neatsižvelgiant į jo atvejį.

parduotuvės -snocasematch

išmetė „Įveskite mėnesio pavadinimą“
skaitytimėnuo
atvejis $ mėnuo į
Sausio mėn)
išmetė „Sausio 24 -oji tarptautinė švietimo diena“.
;;
Vasario mėn)
išmetė „Vasario 20 d. Pasaulinė socialinio teisingumo diena“.
;;
Kovas)
išmetė „Kovo 8 -oji - Tarptautinė moters diena“.
;;
Balandis)
išmetė „Balandžio 7 -oji - Pasaulinė sveikatos diena“
;;
Gegužė)
išmetė „Gegužės 15 d., Tarptautinė šeimų diena“
;;
Birželio mėn)
išmetė „Birželio 20 -oji Pasaulinė pabėgėlių diena“
;;
Liepos mėn)
išmetė „Liepos 11 -oji Pasaulinė gyventojų diena“
;;
*)
išmetė „Nerasta atitinkamos informacijos“
;;
esac

2 pavyzdys:

Šis pavyzdys yra apie grynųjų pinigų išrašą, kuriame vartotojo prašoma įvesti šalies pavadinimą. Jei ši įvestis atitinka apibrėžtus scenarijaus modelius, bus vykdoma atitinkama echo komanda. Echo komanda parodys informaciją apie tos šalies sostinę.

Norėdami naudoti šį scenarijų, atlikite tą patį metodą, aprašytą aukščiau pateiktame pavyzdyje. Baigę vykdykite scenarijų ir būsite paprašyti įvesti šalies pavadinimą. Jei šalies pavadinimas sutampa su iš anksto nustatytais šalių pavadinimais, bus rodomas tos šalies sostinės pavadinimas, priešingu atveju bus rodomas pranešimas Informacijos nėra.

#!/bin/bash
parduotuvės -snocasematch
išmetė -n „Įveskite šalies pavadinimą:“
skaitytiŠalis

išmetė -n 'Sostinė$ šalisyra '
atvejis $ šalis į
Pakistanas)
išmetė -n „Islamabadas“
;;
Fidžis)
išmetė -n 'Sausas'
;;
JK| 'Jungtinė Karalystė')
išmetė -n „Londonas“
;;
Turkija)
išmetė -n „Ankara“
;;
NAUDOJIMAS)
išmetė -n 'Vašingtonas'
;;
*)
išmetė -n „Informacijos nėra“
;;
esac
išmetė ''

„Bash“ teiginiai palengvina „bash“ scenarijaus skaitymą ir supratimą. Šiame straipsnyje mes apžvelgėme, kaip rašyti ir naudoti „bash“ atvejo teiginius. Dabar galite lengvai ir paprastai parašyti daugiapakopį teiginį, jei kitaip, naudodamiesi didžiųjų ir mažųjų raidžių teiginiais.