Denne opplæringen vil vise deg hvordan du bruker betingede utsagn for å sjekke om en variabel er tom og deretter utføre en handling etter faktum. Slike handlinger kan inkludere å sløyfe en kodeblokk til variabelen ikke er tom, slutte eller bare varsle brukeren om at variabelen er tom.
Før vi kommer i gang, vil det være nyttig hvis du er kjent med Basic Bash Scripting.
Bash Basic - Variabler 101
Variabler er kjerneblokker av ethvert ekte programmeringsspråk, og Bash bruker variabler. Variabler er databeholdere som brukes til å lagre verdier for bruk i senere deler av programmet.
For å lage en enkel variabel i bash, bruker vi navnet på variabelen.
For eksempel:
#!/bin/bash
$ i_am
Når du har initialisert variabelen, kan du tilordne verdien til den ved å bruke et like tegn som:
#!/bin/bash
i_am = ubuntu
Når den er blitt erklært og tildelt, kan du ringe det ved å henvise til det ved navn som:
#!/bin/bash
ekko $ i_am
Dette vil returnere verdien som er lagret i variabelen, som vist på skjermdumpen nedenfor.
MERK: Å referere til en variabel i både enkelt sitater og dobbelt sitater returnerer forskjellige resultater. En variabel inne i enkelt sitater vil bli en streng bokstavelig, mens det i et dobbelt sitat får behandlingen av et variabelt navn.
Her er et eksempel:
Nå som vi har det grunnleggende om variabler i bash, kan vi fortsette til betingelser og sjekke for en tom variabel.
For en detaljert guide for hvordan du lager bashvariabler, bør du vurdere ressursen nedenfor:
https: // linuxhint.com/variables_bash/
Basics basics - hvis uttalelser
Hvis uttalelser er en annen grunnleggende programmeringsblokk og bash ville være en krøpling uten dem. De lar oss utføre en handling hvis en tilstand er sann eller falsk.
La oss ta en rask oversikt over hvordan vi bruker bash hvis, hvis ... ellers og hvis ... elif ... ellers
If Statement
Den generelle syntaksen for bruk av en IF -uttalelse i bash er som vist nedenfor:
#!/bin/bash
hvis tilstand
deretter
gjøre
fi
Vi starter en IF -uttalelse ved å ringe IF -nøkkelordet. Vi følger deretter med å spesifisere tilstanden for å sjekke. Tilstanden kan være et enkelt eller et komplekst uttrykk så lenge den evaluerer til sant eller usant.
Deretter setter vi nøkkelordet som spesifiserer kodeblokken for å kjøre hvis tilstanden evalueres til sann.
Til slutt lukker vi IF -setningen ved hjelp av FI -nøkkelordet.
Hvis ... ellers uttalelser
En bash hvis ... ellers uttalelse spesifiserer en ekstra handling hvis tilstanden evalueres til falsk. Den generelle syntaksen er:
#!/bin/bash
hvis tilstand
deretter
gjøre
ellers
gjøre
fi
Et eksempel på bruk
Tillat meg å bruke et enkelt eksempel for å illustrere bruken av IF -utsagn.
IF -uttalelsen er som vist nedenfor:
#!/bin/bash
num = 1
if [[$ num -GT5]]
deretter
ekko "$ num er større enn 5"
ellers
ekko "$ num er mindre enn 5"
fi
Utgangen er som vist nedenfor:
Siden vi nå har det grunnleggende om uttalelser strykes ut, la oss fortsette med denne opplæringen.
Sjekk om uttalelser i detaljer nedenfor:
https: // linuxhint.com/bash_conditional_statement/
Hvordan sjekke om variabelen er tom
En populær og enkel måte å sjekke om en variabel er tom er å bruke -z -alternativet i tilstandsuttalelsen.
-Z $ var returnerer sant hvis en variabel er tom og usant hvis ikke.
Den generelle syntaksen for en slik test er:
#!/bin/bash
if [[-z $ var]]
deretter
gjøre
ellers
gjøre
fi
Eksempelskript
La oss illustrere et enkelt skript som emulerer CD -kommandoen og navigerer den spesifiserte katalogen.
Tenk på skriptet nedenfor:
#!/bin/bash
ekko "Angi banen for å navigere til:"
Les _Path
mens [[-z $ _Path]]; gjøre
ekko "Vennligst gi en sti"
Ferdig
ekko "Navigering til $ _Path"
CD $ _PATH
Når vi har utført spørringen ovenfor, får vi utdataene som vist nedenfor.
Skriptet starter med å be brukeren om å legge inn katalogen om å navigere til. Den sjekker deretter om variabelen er tom. Hvis den er tom, ber den rekursivt brukeren om en bane til variabelen ikke er tom.
Når banen er tilgjengelig, navigerer den til den angitte katalogen og skriver ut statusen.
Konklusjon
Denne korte opplæringen viste deg hvordan du kan sjekke om en variabel er tom ved hjelp av -z -flagget. Dette sjekker om lengden på variabelen er 0, og hvis 0, er variabelen tom. Dette kan være veldig kraftig når du trenger verdien av en variabel for å være sann før du fortsetter.
Du kan også kombinere uttalelsen ovenfor med andre uttrykk for å lage et komplekst verktøy hvis variabelen er tom eller ikke.
Takk, og lykkelig skriptetid!!