See õpetus näitab teile, kuidas kasutada tingimuslauseid, et kontrollida, kas muutuja on tühi, ja seejärel pärast toimingut toimingut teha. Sellised toimingud võivad hõlmata koodiploki loopimist, kuni muutuja pole tühi, sulgeda või lihtsalt teavitada kasutajat, et muutuja on tühi.
Enne alustamist on kasulik, kui olete kursis põhiliste Bash -skriptidega.
Bash Basic - muutujad 101
Muutujad on mis tahes tõelise programmeerimiskeele põhielemendid ja Bash kasutab muutujaid. Muutujad on andmemahutid, mida kasutatakse väärtuste salvestamiseks programmi hilisemates osades kasutamiseks.
Bashis lihtsa muutuja loomiseks kasutame muutuja nime.
Näiteks:
#!/bin/bash$ i_am
Kui olete muutuja lähtestanud, saate sellele väärtuse määrata, kasutades võrdusmärki järgmiselt:
#!/bin/bash
Ma olen= ubuntu
Kui see on deklareeritud ja määratud, saate sellele helistada, viidates sellele lihtsalt nimega:
#!/bin/bashviskas välja $ i_am
See tagastab muutujale salvestatud väärtuse, nagu on näidatud alloleval ekraanipildil.
MÄRGE: Muutujale viitamisel nii üksik- kui ka kahekordse jutumärgi korral saadakse erinevad tulemused. Ühe jutumärgi sees olev muutuja muutub string -literaaliks, samas kui kahekordse jutumärgi korral käsitletakse muutuja nime.
Siin on näide:
Nüüd, kui meil on Bashis muutujate põhitõed, saame jätkata tingimustega ja tühja muutuja leidmisega.
Bash -muutujate loomise üksikasjaliku juhendi saamiseks vaadake alltoodud ressurssi:
https://linuxhint.com/variables_bash/
Bashi põhitõed - kui avaldused
Kui avaldused on järjekordne põhiprogrammeerimisplokk ja Bash oleks ilma nendeta invaliid. Need võimaldavad meil toimingut teha, kui tingimus on tõene või vale.
Teeme kiire ülevaate sellest, kuidas Bashi kasutada, kui, kui… muidu ja kui… elif… muul viisil
Kui S tatement
Üldine süntaks if -lause kasutamiseks Bashis on järgmine:
#!/bin/bashkui {seisukorras}
siis
teha
olla
Alustame if -lauset, kui helistame märksõnale if. Seejärel järgime kontrollimistingimuste täpsustamist. Tingimus võib olla lihtne või keeruline avaldis, kui see on tõene või vale.
Järgmisena määrame märksõna, mis määrab koodiploki käivitamiseks, kui tingimus on tõene.
Lõpuks sulgeme if -lause, kasutades märksõna fi.
Kui… muud avaldused
Lause bash if… else määrab lisatoimingu, kui tingimuse väärtus on vale. Üldine süntaks on järgmine:
#!/bin/bashkui {seisukorras}
siis
teha
muidu
teha
olla
Kasutusjuhtumi näide
Lubage mul kasutada if -lausete kasutamise illustreerimiseks lihtsat näidet.
Väide if on järgmine:
#!/bin/bashühe peale=1
kui [[ $ num -gt5 ]]
siis
viskas välja '$ numon suurem kui 5 '
muidu
viskas välja '$ numon alla 5 '
olla
Väljund on järgmine:
Kuna meil on nüüd põhitõed avalduste silumiseks, jätkakem selle õpetusega.
Kontrollige, kas alltoodud üksikasjades olevad avaldused:
https://linuxhint.com/bash_conditional_statement/
Kuidas kontrollida, kas muutuja on tühi
Populaarne ja lihtne viis, kuidas kontrollida, kas muutuja on tühi, on kasutada tingimuste avaldises valikut -z.
-Z $ var tagastab tõese, kui muutuja on tühi, ja vale, kui mitte.
Sellise testi üldine süntaks on järgmine:
#!/bin/bashkui [[ -Koos $ var ]]
siis
teha
muidu
teha
olla
Näiteskript
Illustreerime lihtsat skripti, mis emuleerib käsku cd ja navigeerib määratud kataloogis.
Mõelge allolevale skriptile:
#!/bin/bashviskas välja 'Sisestage tee, kuhu navigeerida:'
loe_ rada
samas [[ -Koos $ _path ]];teha
viskas välja 'Palun sisestage tee'
tehtud
viskas välja 'Navigeerimine$ _path'
CD $ _path
Kui oleme ülaltoodud päringu täitnud, saame väljundi, nagu allpool näidatud.
Skript algab sellega, et palub kasutajal siseneda kataloogi, kuhu navigeerida. Seejärel kontrollib see, kas muutuja on tühi. Kui see on tühi, küsib see rekursiivselt kasutajalt teed, kuni muutuja pole tühi.
Kui tee on saadaval, navigeerib see määratud kataloogi ja prindib oleku.
Järeldus
See lühike õpetus näitas teile, kuidas lipu -z abil kontrollida, kas muutuja on tühi. See kontrollib, kas muutuja pikkus on 0 ja kui 0, siis muutuja on tühi. See võib olla väga võimas, kui muutuja väärtus peab enne jätkamist tõene olema.
Kui muutuja on tühi või mitte, saate ülaltoodud avalduse kombineerida ka teiste avaldistega.
Tänan teid ja head skriptimise aega !!