Ta vadnica vam bo pokazala, kako s pogojnimi stavki preverite, ali je spremenljivka prazna, in nato izvedite dejanje za dejstvom. Taka dejanja lahko vključujejo zanko bloka kode, dokler spremenljivka ni prazna, zapustite ali preprosto opozorite uporabnika, da je spremenljivka prazna.
Preden začnemo, bo koristno, če poznate osnovno skriptiranje Bash.
Bash Basic - spremenljivke 101
Spremenljivke so temeljni gradniki katerega koli pravega programskega jezika, Bash pa uporablja spremenljivke. Spremenljivke so vsebniki podatkov, ki se uporabljajo za shranjevanje vrednosti za uporabo v kasnejših razdelkih programa.
Za ustvarjanje preproste spremenljivke v Bashu uporabimo ime spremenljivke.
Na primer:
#!/bin/bash$ i_am
Ko imate spremenljivko inicializirano, ji lahko vrednost dodelite z znakom enako:
#!/bin/bash
Jaz sem= ubuntu
Ko je razglašen in dodeljen, ga lahko pokličete tako, da ga preprosto poimenujete kot:
#!/bin/bashvrgel ven $ i_am
To bo vrnilo vrednost, shranjeno v spremenljivki, kot je prikazano na spodnjem posnetku zaslona.
OPOMBA: Sklicevanje na spremenljivko v enojnih in dvojnih narekovajih vrne različne rezultate. Spremenljivka znotraj enojnih narekovajev bo postala nizovni zapis, medtem ko v dvojnih narekovajih dobi obravnavo imena spremenljivke.
Tukaj je primer:
Zdaj, ko imamo osnove spremenljivk v Bashu, lahko nadaljujemo s pogoji in preverjanjem, ali je prazna spremenljivka.
Za podroben vodnik o tem, kako ustvariti spremenljivke bash, si oglejte spodnji vir:
https://linuxhint.com/variables_bash/
Baskove osnove - Izjave If
Če so izjave še en temeljni programski blok in bi bil Bash brez njih hrom. Omogočajo nam, da izvedemo dejanje, če je pogoj resničen ali napačen.
Na kratko povzemimo, kako uporabljati Bash, če, če ... drugače in če ... elif ... drugo
Če S tatement
Splošna skladnja za uporabo stavka if v bashu je prikazana spodaj:
#!/bin/bashče {stanje}
potem
naredi
biti
Stavek if začnemo s klicem ključne besede if. Nato določimo pogoj za preverjanje. Pogoj je lahko preprost ali kompleksen izraz, dokler je ocenjen na true ali false.
Nato nastavimo ključno besedo, ki določa kodni blok, da se izvaja, če je pogoj resničen.
Na koncu zaključimo stavek if z uporabo ključne besede fi.
Če… drugače izjave
Stavek bash if… else podaja dodatno dejanje, če je pogoj neveljaven. Splošna sintaksa je:
#!/bin/bashče {stanje}
potem
naredi
drugače
naredi
biti
Primer uporabe
Dovolite mi, da uporabim preprost primer za ponazoritev uporabe stavkov if.
Stavek if je prikazan spodaj:
#!/bin/bashna enem=1
če [[ $ št -gt5 ]]
potem
vrgel ven '$ štje več kot 5 '
drugače
vrgel ven '$ štje manj kot 5 '
biti
Izhod je prikazan spodaj:
Ker imamo zdaj osnove, če so izjave zglajene, nadaljujmo s to vadnico.
Preverite, ali spodaj podrobno navajate izjave:
https://linuxhint.com/bash_conditional_statement/
Kako preveriti, ali je spremenljivka prazna
Priljubljen in preprost način, da preverite, ali je spremenljivka prazna, je, da v stavku pogoja uporabite možnost -z.
-Z $ var vrne true, če je spremenljivka prazna, in false, če ne.
Splošna skladnja takega testa je:
#!/bin/bashče [[ -Z $ var ]]
potem
naredi
drugače
naredi
biti
Primer skripta
Naj ponazorimo preprost skript, ki posnema ukaz cd in krmari po podanem imeniku.
Razmislite o spodnjem scenariju:
#!/bin/bashvrgel ven 'Vnesite pot za navigacijo do:'
prebrati_pot
medtem [[ -Z $ _path ]];naredi
vrgel ven 'Prosim za pot'
Končano
vrgel ven 'Navigacija do$ _path'
CD $ _path
Ko izvedemo zgornjo poizvedbo, dobimo rezultat, kot je prikazano spodaj.
Skript se začne tako, da uporabnika prosi, da vstopi v imenik za navigacijo. Nato preveri, ali je spremenljivka prazna. Če je prazno, uporabnik rekurzivno zahteva pot, dokler spremenljivka ni prazna.
Ko je pot na voljo, se pomakne v nastavljeni imenik in natisne stanje.
Zaključek
Ta kratka vadnica vam je pokazala, kako z zastavico -z preverite, ali je spremenljivka prazna. S tem se preveri, ali je dolžina spremenljivke 0 in če je 0, je spremenljivka prazna. To je lahko zelo močno, če potrebujete, da je vrednost spremenljivke resnična, preden nadaljujete.
Zgornji stavek lahko kombinirate tudi z drugimi izrazi, da ustvarite zapleteno orodje, če je spremenljivka prazna ali ne.
Hvala in lep čas za skriptiranje !!