Bash Hvis variabel er tom Gør handlinger

Bash If Variable Is Empty Do Actions



Bash -scripting er en af ​​fordelene ved at bruge Linux. Det giver os mulighed for at oprette tilpassede kommandoer og værktøjer til at automatisere vores daglige opgaver. Som de fleste programmeringssprog giver Bash os betingede udsagn for at kontrollere specifikke forhold og udføre handlinger baseret på resultatet.

Denne vejledning viser dig, hvordan du bruger betingede udsagn til at kontrollere, om en variabel er tom, og derefter udføre en handling efter det faktum. Sådanne handlinger kan omfatte looping af en kodeblok, indtil variablen ikke er tom, afslutte eller blot advare brugeren om, at variablen er tom.







Inden vi går i gang, vil det være nyttigt, hvis du kender grundlæggende Bash -scripting.



Bash Basic - Variabler 101

Variabler er centrale byggesten i ethvert reelt programmeringssprog, og Bash bruger variabler. Variabler er datacontainere, der bruges til at gemme værdier til brug i senere sektioner af programmet.



For at oprette en simpel variabel i Bash bruger vi variabelens navn.





For eksempel:

#!/bin/bash

$ i_am

Når du har initialiseret variablen, kan du tildele værdien til den ved at bruge et lighedstegn som:



#!/bin/bash

Jeg er= ubuntu

Når det er blevet erklæret og tildelt, kan du kalde det ved blot at referere til det ved navn som:

#!/bin/bash

smed ud $ i_am

Dette returnerer værdien, der er gemt i variablen, som vist på skærmbilledet herunder.

BEMÆRK: Henvisning til en variabel i både enkelt anførselstegn og dobbelt anførselstegn giver forskellige resultater. En variabel inde i enkelte citater vil blive en streng bogstavelig, mens den i et dobbelt citat får behandlingen af ​​et variabelnavn.

Her er et eksempel:

Nu hvor vi har det grundlæggende om variabler i Bash, kan vi gå videre til betingelser og kontrollere for en tom variabel.

For en detaljeret vejledning i, hvordan du opretter bash -variabler, skal du overveje nedenstående ressource:

https://linuxhint.com/variables_bash/

Bash Basics - If -erklæringer

Hvis udsagn er en anden grundlæggende programmeringsblok, og Bash ville være en lammelse uden dem. De giver os mulighed for at udføre en handling, hvis en betingelse er sand eller falsk.

Lad os tage en hurtig opsummering af, hvordan du bruger Bash, hvis, hvis ... andet og hvis ... elif ... andet

Hvis S tatement

Den generelle syntaks for brug af en if -sætning i Bash er som vist herunder:

#!/bin/bash

hvis {tilstand}

derefter

gøre

være

Vi starter en if -sætning med at kalde if -søgeordet. Vi følger derefter ved at specificere betingelsen for at kontrollere. Tilstanden kan være et enkelt eller et komplekst udtryk, så længe det evalueres til sandt eller falsk.

Dernæst indstiller vi det søgeord, der angiver, at kodeblokken skal køre, hvis betingelsen evalueres til sand.

Endelig lukker vi if -sætningen ved hjælp af fi -søgeordet.

Hvis ... andet udsagn

En bash if ... else -sætning angiver en ekstra handling, hvis betingelsen evalueres til falsk. Den generelle syntaks er:

#!/bin/bash

hvis {tilstand}

derefter

gøre

andet

gøre

være

Et eksempel på brugstilfælde

Tillad mig at bruge et enkelt eksempel til at illustrere brugen af ​​if -sætninger.

If -sætningen er som vist herunder:

#!/bin/bash
på en=1
hvis [[ $ num -gt5 ]]
derefter
smed ud '$ numer større end 5 '
andet
smed ud '$ numer mindre end 5 '
være

Outputtet er som vist herunder:

Da vi nu har det grundlæggende om, hvis udsagn er udryddet, lad os fortsætte med denne vejledning.

Tjek om udsagn i detaljer herunder:

https://linuxhint.com/bash_conditional_statement/

Sådan kontrolleres, om variablen er tom

En populær og enkel måde at kontrollere, om en variabel er tom, er at bruge indstillingen -z i tilstandserklæringen.

-Z $ var returnerer true, hvis en variabel er tom og falsk, hvis ikke.

Den generelle syntaks for en sådan test er:

#!/bin/bash
hvis [[ -Med $ var ]]
derefter
gøre
andet
gøre
være

Eksempel Script

Lad os illustrere et simpelt script, der emulerer cd -kommandoen og navigerer i det angivne bibliotek.

Overvej scriptet herunder:

#!/bin/bash
smed ud 'Indtast sti for at navigere til:'

Læs_sti

mens [[ -Med $ _sti ]];gøre
smed ud 'Angiv venligst en sti'
Færdig
smed ud 'Navigerer til$ _sti'
CD $ _sti

Når vi har udført ovenstående forespørgsel, får vi output som vist nedenfor.

Scriptet starter med at bede brugeren om at indtaste det bibliotek, han skal navigere til. Det kontrollerer derefter, om variablen er tom. Hvis den er tom, beder den brugeren rekursivt om en sti, indtil variablen ikke er tom.

Når stien er tilgængelig, navigerer den til det indstillede bibliotek og udskriver status.

Konklusion

Denne korte vejledning viste dig, hvordan du kontrollerer, om en variabel er tom ved hjælp af -z -flag. Dette kontrollerer, om længden af ​​variablen er 0, og hvis 0, variablen er tom. Dette kan være meget kraftfuldt, når du har brug for værdien af ​​en variabel til at være sand, før du fortsætter.

Du kan også kombinere ovenstående sætning med andre udtryk for at oprette et komplekst værktøj, hvis variablen er tom eller ej.

Tak, og god Scripting tid !!