Tento tutoriál vám ukáže, ako pomocou podmienených príkazov skontrolovať, či je premenná prázdna, a potom vykonať akciu. Takéto akcie môžu zahŕňať zacyklenie bloku kódu, kým premenná nie je prázdna, ukončite ju alebo jednoducho upozornite používateľa, že je premenná prázdna.
Predtým, ako začneme, bude užitočné, ak ste oboznámení so základným skriptovaním v jazyku Bash.
Bash Basic - premenné 101
Premenné sú základnými stavebnými kameňmi akéhokoľvek skutočného programovacieho jazyka a Bash používa premenné. Premenné sú dátové kontajnery používané na ukladanie hodnôt na použitie v neskorších častiach programu.
Na vytvorenie jednoduchej premennej v Bash používame názov premennej.
Napríklad:
#!/bin/bash$ i_am
Akonáhle máte premennú inicializovanú, môžete jej priradiť hodnotu pomocou znamienka rovnosti ako:
#!/bin/bash
som= ubuntu
Hneď ako bude deklarovaný a priradený, môžete ho zavolať jednoduchým odkazom na meno ako:
#!/bin/bashzahodil $ i_am
Tým sa vráti hodnota uložená v premennej, ako je to znázornené na obrázku nižšie.
POZNÁMKA: Odkazovanie na premennú v jednoduchých úvodzovkách aj v úvodzovkách prináša rôzne výsledky. Premenná v jednoduchých úvodzovkách sa stane doslovným reťazcom, zatiaľ čo v dvojitých úvodzovkách bude spracovaná názov premennej.
Tu je príklad:
Teraz, keď máme základy premenných v Bash, môžeme pristúpiť k podmienkam a kontrole prázdnej premennej.
Podrobný návod na vytváranie premenných bash nájdete v nižšie uvedenom zdroji:
https://linuxhint.com/variables_bash/
Bash Basics - If Statements
Ak sú vyhlásenia ďalším základným programovacím blokom a Bash by bol bez nich mrzák. Umožňujú nám vykonať akciu, ak je podmienka pravdivá alebo nepravdivá.
Poďme si rýchlo zhrnúť, ako používať Bash, ak, ak ... inak a ak ... elif ... inak
Ak S tatement
Všeobecná syntax na používanie príkazu if v jazyku Bash je uvedená nižšie:
#!/bin/bashkeby {podmienkou}
potom
urobiť
byť
Príkaz if začíname zavolaním kľúčového slova if. Potom nasledujeme zadaním podmienky na kontrolu. Podmienka môže byť jednoduchý alebo komplexný výraz, pokiaľ je vyhodnotená ako pravdivá alebo nepravdivá.
Ďalej nastavíme kľúčové slovo, ktoré špecifikuje blok kódu, ktorý sa má spustiť, ak je podmienka vyhodnotená ako pravdivá.
Nakoniec zatvoríme príkaz if pomocou kľúčového slova fi.
Ak ... iné vyhlásenia
Príkaz bash if ... else určuje ďalšiu akciu, ak je podmienka vyhodnotená ako nepravdivá. Všeobecná syntax je:
#!/bin/bashkeby {podmienkou}
potom
urobiť
inak
urobiť
byť
Príklad prípadu použitia
Dovoľte mi použiť jednoduchý príklad na ilustráciu použitia príkazov if.
Príkaz if je nasledujúci:
#!/bin/bashna jeden=1
keby [[ $ num -gt5 ]]
potom
zahodil '$ numje väčšia ako 5 '
inak
zahodil '$ numje menší ako 5 '
byť
Výstup je nasledujúci:
Pretože teraz máme základy príkazov if vyriešené, pokračujme v tomto návode.
Skontrolujte, či sú nižšie uvedené podrobnosti:
https://linuxhint.com/bash_conditional_statement/
Ako skontrolovať, či je premenná prázdna
Populárny a jednoduchý spôsob, ako zistiť, či je premenná prázdna, je použiť v príkaze podmienku možnosť -z.
Parameter -z $ var vráti hodnotu true, ak je premenná prázdna, a hodnotu false, ak nie je.
Všeobecná syntax pre takýto test je:
#!/bin/bashkeby [[ -S $ var ]]
potom
urobiť
inak
urobiť
byť
Príklad skriptu
Ukážme si jednoduchý skript, ktorý emuluje príkaz cd a pohybuje sa v určenom adresári.
Zvážte nasledujúci skript:
#!/bin/bashzahodil 'Zadajte cestu, na ktorú sa chcete nechať navigovať:'
čítať_cesta
kým [[ -S $ _path ]];urobiť
zahodil „Zadajte cestu“
hotový
zahodil „Navigácia do$ _path'
CD $ _path
Akonáhle vykonáme vyššie uvedený dotaz, dostaneme výstup, ako je uvedené nižšie.
Skript začína požiadavkou, aby používateľ zadal adresár, do ktorého sa má navigovať. Potom skontroluje, či je premenná prázdna. Ak je prázdny, rekurzívne sa pýta používateľa na cestu, kým premenná nie je prázdna.
Akonáhle je cesta k dispozícii, prejde do nastaveného adresára a vytlačí stav.
Záver
Tento krátky návod vám ukázal, ako pomocou príznaku -z skontrolovať, či je premenná prázdna. Skontroluje sa, či je dĺžka premennej 0 a ak 0, je premenná prázdna. To môže byť veľmi silné, keď potrebujete, aby hodnota premennej bola pravdivá, než budete pokračovať.
Vyššie uvedený príkaz môžete tiež skombinovať s inými výrazmi a vytvoriť tak komplexný nástroj, ak je premenná prázdna alebo nie.
Ďakujem a prajem príjemný skriptovací čas !!