Programovanie v jazyku BASH

Bash „if -z“ a „if -n“ na testovanie reťazcov

Bash „if -z“ a „if -n“ na testovanie reťazcov

Výrok „if“ v bashe je možné použiť s rôznymi parametrami a slúžiť tak na rôzne účely. Kedykoľvek pracujeme s reťazcami v Bashi, je pre nás veľmi dôležité skontrolovať, či je reťazec nulový alebo nie, aby nemohol spôsobiť problém pri vykonávaní nášho programu. Príznaky „-z“ aj „-n“ je možné použiť s príkazom „if“ na testovanie reťazcov a v dnešnom článku vám vysvetlíme, ako to možno urobiť.

Poznámka: Linux Mint 20 sa používa na testovanie nasledujúcich príkladov.

Metóda použitia Bash „if -z“ a „if -n“ na testovanie reťazcov

Aby sme vysvetlili použitie Bash „if -z“ a „if -n“ na testovanie reťazcov, chceli by sme sa s vami podeliť o nasledujúce ukážkové scenáre.

Príklad č. 1: Použitie príkazu „if -n“ na preukázanie toho, že reťazec má hodnotu Null

Aby sme preukázali, že reťazec v Bashi je nulový, pomocou príkazu „if -n“ vykonáme nasledujúce kroky:

Najskôr vytvoríme súbor Bash v našom domovskom adresári s názvom Strings.sh, ako je znázornené na obrázku nižšie:

Po vytvorení tohto súboru napíšeme do nášho súboru skript zobrazený na nasledujúcom obrázku. Rovnako ako každý skript Bash, prvý riadok, t.j.e. „#!/ bin / bash, “je povinné. Potom sme deklarovali nulový reťazec s názvom „meno“. Nulový reťazec v Bashi možno deklarovať vyrovnaním premennej na „“. Potom máme vyhlásenie „if“, za ktorým nasleduje príznak „-n“, ktorý vráti hodnotu true, ak reťazec nemá hodnotu null. Tento príznak sme použili na otestovanie nášho reťazca „name“, ktorý je nulový. Znamená to, že podmienka „if“ nebude vykonaná, pretože hodnota príznaku „-n“ bude v tomto prípade nepravdivá. Preto máme aj časť „else“, ktorá sa vykoná vytlačením správy na termináli.

Teraz je čas tento súbor spustiť, čo je možné vykonať pomocou nižšie uvedeného príkazu:

$ bash reťazce.š

Pretože reťazec, ktorý sme deklarovali, bol nulový, preto bola vykonaná časť nášho skriptu „else“ a zodpovedajúca správa bola vytlačená na termináli, ako je to znázornené na nasledujúcom obrázku:

Príklad č. 2: Použitie príkazu „if -n“ na preukázanie toho, že reťazec nemá hodnotu Null

Aby sme pomocou príkazu „if -n“ ukázali, že reťazec v Bashi nemá hodnotu null, vykonáme nasledujúce kroky:

Do nášho súboru Bash napíšeme nasledujúci skript. Jedinou zmenou, ktorú sme vykonali v skripte, ktorý sme vytvorili vyššie pre tento scenár, je to, že tentokrát sme reťazcu „name“ priradili platný názov. Znamená to, že náš reťazec nie je tentokrát nulový, čo znamená, že by sa mala vykonať časť skriptu „keby“.

Teraz spustite skript ešte raz a všimnete si, že náš upravený skript funguje rovnako, ako sme chceli, vykonaním časti skriptu „if“ tentokrát, ako je to znázornené na obrázku nižšie:

Príklad č. 3: Použitie príkazu „if -z“ na preukázanie toho, že reťazec nemá hodnotu Null

Aby sme pomocou príkazu „if -z“ ukázali, že reťazec v Bashi nemá hodnotu null, vykonáme nasledujúce kroky:

Skript pre tento scenár je takmer rovnaký ako v prípade scenára diskutovaného vyššie. Nahradili sme iba príznak „-n“ znakom „-z“, ale tentokrát sme vymenili aj časti „if“ a „else“ skriptu, pretože príznak „-z“ vracia hodnotu true, ak je reťazec je neplatné. Znamená to, že tentokrát bude vykonaná časť skriptu „else“, pretože náš reťazec nebol prázdny.

Môžete to overiť spustením skriptu, ktorý ste práve upravili, a uvidíte, že váš reťazec nebol prázdny, ako je to znázornené na obrázku nižšie:

Príklad č. 4: Použitie príkazu „if -z“ na preukázanie toho, že reťazec má hodnotu Null

Aby sme pomocou príkazu „if -z“ ukázali, že reťazec v jazyku Bash je nulový, vykonáme nasledujúce kroky:

Pre tento scenár sme použili rovnaký skript ako pre príklad # 3. Jedinou zmenou, ktorú sme v tomto skripte urobili, je to, že sme náš reťazec zmenili na null tak, že sme mu priradili nulovú hodnotu, ako vidíte na obrázku nižšie:

Teraz, keď spustíme tento skript, časť skriptu „if“ sa vykoná, pretože reťazec je nulový, a preto bude hodnota príznaku „-z“ pravdivá, ako vidíte na nasledujúcom obrázku:

Príklad č. 5: Zadanie reťazcového vstupu používateľa a jeho testovanie pomocou príkazu „if -z“

Na testovanie reťazcového vstupu poskytnutého používateľom s príkazom „if -z“ vykonáme nasledujúce kroky:

Skopírujeme skript zobrazený na obrázku nižšie v našom súbore Bash. Tu požiadame používateľa o zadanie reťazca a tento reťazec potom uložíme do premennej „string“ príkazom „read“. Potom testujeme tento reťazec pomocou príkazu „if -z“, ktorý sa vykoná, ak má reťazec hodnotu null. Ak to tak bude, tento skript vyzve používateľa na zadanie platného reťazca a tento reťazec potom vytlačí. Ak však používateľ zadá platný reťazec prvýkrát, vykoná sa časť skriptu „else“.

Po spustení tohto skriptu Bash, keď sme boli vyzvaní na zadanie reťazca, sme zámerne zadali nulový reťazec, t.j.e., jednoducho sme stlačili kláves Enter. Preto nás náš terminál vyzval na zadanie platného reťazca, ako je znázornené na nasledujúcom obrázku:

Tentokrát sme zadali platný reťazec „ahoj“, a terminál preto vytlačil príslušnú správu, ako je znázornené na obrázku nižšie:

Záver

V tomto článku sa dozviete všetky rôzne metódy, pomocou ktorých môžete testovať, či sú vaše reťazce nulové alebo nie, keď používate príkazy „-z“ a „-n“ s príkazom „if“. Použitím týchto príznakov môžeme testovať ľubovoľné reťazce, a preto ich v skriptoch používame veľmi efektívne.

WinMouse vám umožňuje prispôsobiť a vylepšiť pohyb ukazovateľa myši na počítači so systémom Windows
Ak chcete vylepšiť predvolené funkcie kurzora myši, použite freeware WinMouse. Pridáva ďalšie funkcie, ktoré vám pomôžu vyťažiť zo svojej skromnej myš...
Tlačidlo ľavého kliknutia myši nefunguje v systéme Windows 10
Ak používate samostatnú myš s prenosným počítačom alebo stolovým počítačom, ale nefunguje ľavé tlačidlo myši vo Windows 10/8/7 z nejakého dôvodu uvádz...
Kurzor pri písaní v systéme Windows 10 skáče alebo sa pohybuje náhodne
Ak zistíte, že kurzor myši skáče alebo sa pohybuje sám, automaticky a náhodne pri písaní na notebooku alebo počítači so systémom Windows, niektoré z t...