Denne opplæringen vil vise deg hvordan du bruker betingede utsagn for å kontrollere om en variabel er tom og deretter utføre en handling etter det faktum. Slike handlinger kan omfatte looping av en blokk med kode til variabelen ikke er tom, avslutte eller ganske enkelt varsle brukeren om at variabelen er tom.
Før vi begynner, vil det være nyttig hvis du er kjent med grunnleggende Bash -skripting.
Bash Basic - Variabler 101
Variabler er kjernebyggesteiner i ethvert ekte programmeringsspråk, og Bash bruker variabler. Variabler er datacontainere 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 variabelen initialisert, kan du tilordne verdien til den ved å bruke et likhetstegn som:
#!/bin/bash
jeg er= ubuntu
Når den er deklarert og tildelt, kan du kalle den ved ganske enkelt å referere til den ved navn som:
#!/bin/bashkastet ut $ i_am
Dette vil returnere verdien som er lagret i variabelen, som vist på skjermbildet nedenfor.
MERK: Å referere til en variabel i både enkelt anførselstegn og doble anførselstegn gir forskjellige resultater. En variabel inne i enkelt anførselstegn vil bli en streng bokstavelig, mens det i et dobbelt anførsel blir behandlet med et variabelnavn.
Her er et eksempel:
Nå som vi har det grunnleggende om variabler i Bash, kan vi gå videre til betingelser og se etter en tom variabel.
For en detaljert veiledning om hvordan du lager bash -variabler, kan du vurdere ressursen nedenfor:
https://linuxhint.com/variables_bash/
Grunnleggende om bash - uttalelser
Hvis uttalelser er en annen grunnleggende programmeringsblokk og Bash ville være en lam uten dem. De lar oss utføre en handling hvis en betingelse er sann eller usann.
La oss ta en kort oppsummering av hvordan du bruker Bash hvis, hvis ... annet og hvis ... elif ... annet
Hvis S tatement
Den generelle syntaksen for bruk av en if -setning i Bash er som vist nedenfor:
#!/bin/bashhvis {tilstand}
deretter
gjøre
være
Vi starter en if -setning med å kalle søkeordet if. Vi følger deretter med å spesifisere betingelsen for å sjekke. Tilstanden kan være et enkelt eller komplekst uttrykk så lenge det evalueres til sant eller usant.
Deretter angir vi nøkkelordet som spesifiserer kodeblokken som skal kjøres hvis tilstanden evalueres til sann.
Til slutt lukker vi if -setningen ved å bruke fi -søkeordet.
Hvis ... andre uttalelser
En bash if ... else -setning angir en ekstra handling hvis tilstanden evalueres til usann. Den generelle syntaksen er:
#!/bin/bashhvis {tilstand}
deretter
gjøre
ellers
gjøre
være
Et eksempel på brukstilfelle
Tillat meg å bruke et enkelt eksempel for å illustrere bruken av if -setninger.
If -setningen er som vist nedenfor:
#!/bin/bashpå en=1
hvis [[ $ tall -gt5 ]]
deretter
kastet ut '$ taller større enn 5 '
ellers
kastet ut '$ taller mindre enn 5 '
være
Utgangen er som vist nedenfor:
Siden vi nå har det grunnleggende om hvis uttalelser strykes ut, la oss fortsette med denne opplæringen.
Sjekk om utsagnene i detaljer nedenfor:
https://linuxhint.com/bash_conditional_statement/
Hvordan sjekke om variabelen er tom
En populær og enkel måte å kontrollere om en variabel er tom, er å bruke -z -alternativet i tilstandserklæringen.
-Z $ var returnerer true hvis en variabel er tom og usann hvis ikke.
Den generelle syntaksen for en slik test er:
#!/bin/bashhvis [[ -Med $ var ]]
deretter
gjøre
ellers
gjøre
være
Eksempel Script
La oss illustrere et enkelt skript som emulerer cd -kommandoen og navigerer i den angitte katalogen.
Vurder skriptet nedenfor:
#!/bin/bashkastet ut 'Skriv inn banen for å navigere til:'
lese_sti
samtidig som [[ -Med $ _sti ]];gjøre
kastet ut 'Oppgi en sti'
gjort
kastet ut 'Navigerer til$ _sti'
CD $ _sti
Når vi har utført spørringen ovenfor, får vi utgangen som vist nedenfor.
Skriptet starter med å be brukeren om å angi katalogen å navigere til. Den kontrollerer 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 sjekker om en variabel er tom ved å bruke -z -flagget. Dette sjekker om lengden på variabelen er 0 og hvis 0, variabelen er 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 setningen ovenfor med andre uttrykk for å lage et komplekst verktøy hvis variabelen er tom eller ikke.
Takk, og god Scripting -tid !!