Bash If-Else-uttalelse

Bash If-Else-uttalelse
Mens du jobber i Bash, Det kan hende du må legge til forhold i skriptet ditt. Avhengig av om en programmererspesifisert boolsk tilstand viser seg å være sann eller falsk, Bash betingede uttalelser utføre spesifiserte operasjoner basert på betingelsene. Disse betingede uttalelsene brukes til å utføre spesifikke deler av skallprogrammet ditt.

De Hvis, if-else, if-elif-els uttalelser brukes i Bash -skript For å utføre kodeblokker basert på et tilstandsutfall, akkurat som om de fungerer på noe annet programmeringsspråk.

Denne artikkelen vil gå gjennom grunnleggende forhold til Bash If-Else-uttalelse og vil vise deg hvordan du kan bruke disse betingede utsagnene i bashskriptet ditt. Så la oss starte!

Bash hvis uttalelse

Betingede utsagn kan være representert i forskjellige former i et bashskript, og "hvis”Uttalelse er den mest grunnleggende formen for den. Ta en titt på syntaksen til “hvis”Uttalelse:

if (tilstand)
deretter
Hvis blokkeringsstatninger
fi

For å legge til “hvis”Uttalelse i bashskriptet ditt, skriv ut nøkkelordet”hvis”Og spesifiser det betingede uttrykket med det. I neste linje, legg til "deretter”Søkeord og skriv ut utsagnene du vil utføre i denne blokken. Etter å ha lagt til IF -uttalelser, lukk IF -setningen med nøkkelordet “fi”.

Bash hvis uttalelse fungerer

Det gitte “hvis”Uttalelsesblokk vil fungere som følger: Først av alt vil programmet sjekke“hvis”Uttalelse. I tilfelle, hvis den spesifiserte tilstanden er sann, vil den utføre blokkuttalelser som kommer etter "deretter”Nøkkelord. I et annet tilfelle, hvis tilstanden viser seg å være falsk, vil programmet gå videre mot uttalelsene som kommer etter "hvis”Uttalelse:

Bash hvis uttalelse eksempel

Nå skal vi skrive et bash -skript som består av “hvis”Uttalelse. Skriptet som er gitt nedenfor vil sjekke at nummeret vi har skrevet inn er større enn 5 eller ikke:

#!/bin/bash
ekko -n "Skriv inn et hvilket som helst antall valg:"
Les Num
if [[$ num -gt 5]]
deretter
ekko "tallet er større enn 5.""
fi

Åpne din favoritt tekstredigerer, og legg til den ovennevnte koden i en fil:

Klikk deretter på "Lagre”Knapp til stede på høyre side av tittellinjen:

Lagre denne filen som en bash shell -skriptfil ved å legge til utvidelsen ".sh”. Vi har lagret basisskriptet vårt som "Testfile.sh”:

Nå, åpne Ubuntu -terminalen ved å trykke på “Ctrl+alt+t”Og utfør den undergitte kommandoen i den:

$ bash testfile.sh

Etter å ha utført “Testfile.sh”Bash -skriptet, vil du bli bedt om å legge inn et nummer. For eksempel kom vi inn "10“. Nå "hvis”Tilstanden vil evaluere om antallet som er angitt av deg er større enn 5, noe som er sant i dette tilfellet. Så til slutt, "ekko”Kommando vil bli utført, og den vil skrive ut uttalelsen om at det angitte nummeret er større enn“5”:

I det ovennevnte eksemplet oppfylte det angitte nummeret "hvis" betingelse. Men hva om vi skriver inn noe nummer som ikke samsvarer med den spesifiserte tilstanden, hva skal bashskriptet gjøre i et slikt tilfelle? Det enkle “hvis”Uttalelse vil ikke gjøre ingenting. For eksempel har vi utført det samme "Testfile.sh”Manus, og nå har vi innspill”3" som er "ikke”Større enn“ 5 ”. Vi har ikke lagt til noen uttalelse for å håndtere denne tilstanden; Derfor vil utgangen ikke vise noe:

I slike tilfeller, hvor du vil utføre noe når "hvis”Tilstand evaluerer”falsk”, Steg opp og bruk Hvis… ellers uttalelse.

Bash If-Else-uttalelse

Du kan bruke en If-Else-uttalelse i en Bash skript for å utføre noen uttalelse hvis den spesifiserte tilstanden blir evaluert som falsk. Sjekk ut syntaksen i IF-Else-setningen:

if (tilstand)
deretter
Hvis blokkeringsuttalelser
ellers
ellers blokkerer uttalelser
fi

For å legge til en if-ests-uttalelse i bashskriptet ditt, start med nøkkelordet “hvis”Og spesifiser det betingede uttrykket med det. I neste linje, legg til "deretter”Søkeord og skriv ut utsagnene du vil utføre når tilstanden viser seg å være sant. Etter å ha lagt til if-block-setningene, bruk nøkkelordet “ellers”Og skriv ut uttalelsene som vil utføre i tilfelle, hvis“hvis”Tilstand er ikke sant. Disse uttalelsene er kjent som “ellers blokkerer uttalelser“. Etter det, lukk if-ests-setningen med nøkkelordet “fi”.

Bash If-Else-uttalelse som fungerer

Først av alt vil bashskriptet sjekke IF -setningen. Hvis tilstanden blir evaluert sann, vil programmet utføre uttalelsene som er til stede i "hvis”Blokk. I et annet tilfelle, hvis tilstanden viser seg å være falsk, vil programmet gå videre mot ellers blokken og vil utføre handlingen som er spesifisert i "annet blokkering”:

Bash If-Else uttalelseseksempel

I den samme "Testfile.sh”Manus, vi vil legge til et“ellers”Klausul som vil skrive ut en uttalelse i tilfelle“hvis”Tilstand er“falsk”:

#!/bin/bash
ekko -n "Skriv inn et hvilket som helst antall valg:"
Les Num
if [[$ num -gt 5]]
deretter
ekko "tallet er større enn 5.""
ellers
ekko "tallet er mindre enn 5.""
fi

Lagre de ekstra endringene i "Testfile.sh”Og utfør dette bashskriptet i terminalen din:

$ bash testfile.sh

Vår "hvis"Tilstanden vil sjekke at antallet vi har skrevet inn er større enn"5" eller ikke. Så for første gang kommer vi inn "6“, Som får det til å utføre Hvis blokkeringsstatninger og skriptet skriver ut “antallet er større enn 5”På terminalen:

Vi har også lagt til en "annet" -blokk; La oss nå sjekke ut om det fungerer. For dette vil vi legge inn et antall mindre enn 5:

Ovennevnte output erklærer at if-est-setningen fungerer bra. Hva om vi går inn i “5”?

Utgangen vil skrive ut “antallet er mindre enn 5,”Som ikke er sant. For å håndtere slike forhold, kan vi bruke if-elif-els uttalelse i en bash manus.

Bash If-Elif-Else-uttalelse

I et bash -manus, if-elif-els uttalelse er representert i den undergitte formen:

if (tilstand)
deretter
Hvis blokkeringsstatninger
elif (tilstand)
deretter
ELIF-blokkering
ellers
annet blokkeringsstatninger
fi

Å legge til en If-Elif-Else Uttalelse i bashskriptet ditt, start med nøkkelordet “hvis”Og spesifiser det betingede uttrykket med det. I neste linje, legg til "deretter”Søkeord og skriv ut utsagnene du vil utføre hvis tilstanden viser seg å være sant. Etter å ha lagt til if-block-utsagnene, bruk nøkkelordet "Elif”Og spesifiser en annen tilstand. Neste, legg til “deretter”Søkeord og skriv ut ELIF -blokkeringsuttalelsene. Til slutt, legg til en "annet" -blokk med uttalelsene som er utført hvis de spesifiserte forholdene blir usanne og lukker if-elif-els uttalelse med nøkkelordet “fi”.

Bash if-elif-ests-uttalelse fungerer

Her vil programmet først sjekke "hvis" betingelse; Hvis det er sant, vil det utføre "Hvis blokkeringsstatninger”Og kom ut av betinget struktur. I det andre tilfellet, hvis tilstanden er falsk, vil den sjekke tilstanden som er spesifisert med ellers-hvis eller “Elif”, Hvis denne tilstanden viser seg å være sann, vil bashskriptet utføre“Elif”Blokkuttalelser. Hvis ingen av de spesifiserte forholdene er “ekte“Ellers vil blokkere uttalelser bli utført:

Bash If-Elif-Else-eksempel

I den samme "Testfile.sh”Manus, vi har lagt til“Elif”Blokk som følger:

#!/bin/bash
ekko -n "Skriv inn et hvilket som helst antall valg:"
Les Num
if [[$ num -gt 5]]
deretter
ekko "tallet er større enn 5.""
elif [[$ num -eq 5]]
deretter
ekko "tallet er lik 5.""
ellers
ekko "tallet er mindre enn 5.""
fi

Elif”Blokk vil sjekke om det angitte nummeret er lik 5:

Lagre dette “Testfile.sh”Skript og utfør det i terminalen din:

$ bash testfile.sh

Vi kommer inn "6" for første gang, som er større enn "5". I dette tilfellet "Hvis blokkeringsstatninger”Vil bli henrettet:

La oss nå inn i et nummer mindre enn “5”:

Så hva med "Elif”Uttalelse? Nå vil vi legge inn inngang "5”For å sjekke arbeidet med“Elif”Blokk:

Utgangen viser oss at programmet vårt utførte uttalelsen som ble lagt til i "Elif”Blokk for det angitte nummeret.

Konklusjon

Et av de essensielle prinsippene innen dataprogrammering er beslutninger. Som på andre programmeringsspråk, Hvis uttalelse, hvis, og if-elif-elves uttalelser brukes i Bash For å utføre kode basert på spesifikke forhold. Denne artikkelen viste deg hvordan bruke hvis, if-elv, if-elif-els uttalelser i bash-skriptet med syntaks og eksempler. Hvis du trenger å håndtere forholdene i bashptet, kan du prøve ut-setninger.