Ši pamoka parodys, kaip naudoti sąlyginius teiginius, kad patikrintumėte, ar kintamasis tuščias, ir atlikite veiksmą po to. Tokie veiksmai gali apimti kodo bloko ciklavimą tol, kol kintamasis nėra tuščias, išeikite arba tiesiog įspėkite vartotoją, kad kintamasis tuščias.
Prieš pradedant, bus naudinga, jei esate susipažinę su pagrindiniais „Bash“ scenarijais.
„Bash Basic“ - kintamieji 101
Kintamieji yra pagrindiniai bet kurios tikros programavimo kalbos elementai, o „Bash“ naudoja kintamuosius. Kintamieji yra duomenų konteineriai, naudojami vertėms saugoti, kad būtų galima naudoti vėlesniuose programos skyriuose.
Norėdami sukurti paprastą kintamąjį „Bash“, naudojame kintamojo pavadinimą.
Pavyzdžiui:
#!/bin/bash$ i_am
Kai inicijuojate kintamąjį, galite jam priskirti vertę naudodami lygybės ženklą kaip:
#!/bin/bash
Aš esu= ubuntu
Kai jis buvo paskelbtas ir priskirtas, galite jį paskambinti tiesiog nurodydami jį pavadinimu:
#!/bin/bashišmetė $ i_am
Tai grąžins kintamajame išsaugotą vertę, kaip parodyta žemiau esančioje ekrano kopijoje.
PASTABA: Nuoroda į kintamąjį tiek viengubose, tiek dvigubose kabutėse pateikia skirtingus rezultatus. Kintamasis viengubose kabutėse taps tiesiogine eilute, o dviguboje kabutėje - kintamojo pavadinimas.
Štai pavyzdys:
Dabar, kai „Bash“ turime kintamųjų pagrindus, galime pereiti prie sąlyginių sąlygų ir patikrinti tuščią kintamąjį.
Norėdami gauti išsamų bash kintamųjų kūrimo vadovą, apsvarstykite toliau pateiktą šaltinį:
https://linuxhint.com/variables_bash/
Basų pagrindai - jei teiginiai
Jei teiginiai yra dar vienas esminis programavimo blokas ir „Bash“ be jų būtų suluošintas. Jie leidžia mums atlikti veiksmą, jei sąlyga yra teisinga ar klaidinga.
Trumpai apžvelgsime, kaip naudoti „Bash“, jei, jei… kitaip ir jei… elif… kitaip
Jei S dumblas
Bendroji „if“ sakinio „Bash“ naudojimo sintaksė yra tokia, kaip parodyta žemiau:
#!/bin/bashjei {būklė}
tada
daryti
būti
Mes pradedame teiginį „if“, paskambinę „if“ raktiniam žodžiui. Tada mes nurodome tikrintiną sąlygą. Sąlyga gali būti paprasta ar sudėtinga išraiška, jei ji vertinama kaip teisinga ar klaidinga.
Tada nustatome raktinį žodį, kuris nurodo kodo bloką, kad būtų paleistas, jei sąlyga įvertinama kaip tiesa.
Galiausiai uždarome teiginį if naudodami raktinį žodį fi.
Jei… kiti teiginiai
„Bash if… else“ sakinys nurodo papildomą veiksmą, jei sąlyga vertinama kaip klaidinga. Bendra sintaksė yra tokia:
#!/bin/bashjei {būklė}
tada
daryti
Kitas
daryti
būti
Naudojimo atvejo pavyzdys
Leiskite man naudoti paprastą pavyzdį, kaip iliustruoti teiginių „if“ naudojimą.
Jei teiginys yra toks, kaip parodyta žemiau:
#!/bin/bashant vieno=1
jei [[ $ num -gt5 ]]
tada
išmetė '$ numyra didesnis nei 5 '
Kitas
išmetė '$ numyra mažesnis nei 5 '
būti
Išėjimas yra toks, kaip parodyta žemiau:
Kadangi dabar turime pagrindus, jei teiginiai yra išlyginti, tęskime šią pamoką.
Patikrinkite, ar toliau pateikiama išsami informacija:
https://linuxhint.com/bash_conditional_statement/
Kaip patikrinti, ar kintamasis tuščias
Populiarus ir paprastas būdas patikrinti, ar kintamasis yra tuščias, yra naudoti -z parinktį sąlyga.
-Z $ var grąžina true, jei kintamasis tuščias, ir klaidingą, jei ne.
Bendra tokio testo sintaksė yra tokia:
#!/bin/bashjei [[ -Su $ var ]]
tada
daryti
Kitas
daryti
būti
Scenarijaus pavyzdys
Iliustruokime paprastą scenarijų, kuris imituoja cd komandą ir naršo nurodytame kataloge.
Apsvarstykite žemiau esantį scenarijų:
#!/bin/bashišmetė „Įveskite kelią, kuriuo norite pereiti:“
skaityti_ kelias
tuo tarpu [[ -Su $ _path ]];daryti
išmetė „Pateikite kelią“
padaryta
išmetė 'Navigacija į$ _path'
CD $ _path
Kai įvykdysime aukščiau pateiktą užklausą, gausime išvestį, kaip parodyta žemiau.
Scenarijus prasideda paprašius vartotojo įvesti katalogą, į kurį būtų galima naršyti. Tada jis patikrina, ar kintamasis tuščias. Jei jis tuščias, jis rekursyviai prašo vartotojo, kol kintamasis nebus tuščias.
Kai kelias yra prieinamas, jis pereina į nustatytą katalogą ir spausdina būseną.
Išvada
Ši trumpa pamoka parodė, kaip patikrinti, ar kintamasis tuščias, naudojant -z vėliavą. Tai patikrina, ar kintamojo ilgis yra 0, o jei 0 - kintamasis tuščias. Tai gali būti labai galinga, kai prieš tęsiant reikia, kad kintamojo vertė būtų teisinga.
Taip pat galite derinti aukščiau pateiktą teiginį su kitomis išraiškomis, kad sukurtumėte sudėtingą įrankį, jei kintamasis tuščias arba ne.
Ačiū, ir gero scenarijaus laiko !!