Skip to main content

Hvordan skrive en Bash IF-Statement (Conditionals)

iOS App Development with Swift by Dan Armendariz (Juni 2026)

iOS App Development with Swift by Dan Armendariz (Juni 2026)
Anonim

Med en if-setning, som er en type betinget utsagn, kan du utføre forskjellige handlinger avhengig av spesifiserte forhold. Det gir effektivt systemet muligheten til å ta beslutninger.

Et eksempel på den enkleste formen for en if-setning ville være:

teller = 5 hvis $ count == 5 ekko "$ count" fi

I dette eksemplet brukes variabelen "count" til å spesifisere en tilstand som brukes som en del av if-setningen. Før om-setningen utføres, tilordnes variablen "telle" verdien "5". Hvis-setningen kontrollerer deretter om verdien av "count" er "5". Hvis dette er tilfellet, utføres setningen mellom søkeordene "da" og "fi", ellers blir noen setninger som følger if-setningen henrettet. Søkeordet "fi" er "hvis" stavet bakover. Den bash scripting språket bruker denne konvensjonen til å markere slutten av et komplekst uttrykk, slik en if-setning eller case-statements.

Ekko-setningen skriver ut argumentet, i dette tilfellet verdien av variabelen "count", til terminalvinduet. Indrykning av koden mellom søkeordene i if-setningen forbedrer lesbarheten, men er ikke nødvendig.

Hvis du har en situasjon hvor et stykke kode bare skal utføres hvis en tilstand ikke er sant, kan du bruke søkeordet "annet" i en if-setning, som i dette eksempelet:

telle = 5 hvis $ count == 5 så ekko "$ count" annet ekko "telle er ikke 5" fi

Hvis tilstanden "$ count == 5" er sant, skriver systemet verdien av variabelen "count", ellers skriver den strengen "count is not 5".

Hvis du vil skille mellom flere forhold, kan du bruke søkeordet "elif", som er avledet fra "annet hvis", som i dette eksempelet:

hvis $ count == 5 så ekko "tall er fem" elif $ count == 6 så ekko "tall er seks" annet ekko "ingen av de ovennevnte" fi

Hvis "telle" er "5", skriver systemet ut "tellingen er fem". Hvis "telle" ikke er "5", men "6", skrives systemet "tall er seks". Hvis det ikke er "5" eller "6", skriver systemet ut "ingen av de ovennevnte".

Som du kanskje har gjettet, kan du ha noen "elif" klausuler. Et eksempel med flere "elif" -betingelser ville være:

hvis $ count == 5 så ekko "tall er fem" elif $ count == 6 så ekko "tall er seks" elif $ count == 7 da ekko "tall er syv" elif $ count = = 8 da ekko "telle er åtte" elif $ count == 9 så ekko "telle er ni" annet ekko "ingen av de ovennevnte" fi

En mer kompakt måte å skrive slike utsagn på med flere forhold er saksemetoden. Det fungerer som om-setningen med flere "elif" -klausuler, men er mer konsistent. For eksempel kan ovennevnte koden bli omskrevet med "saken" -oppstillingen som følger:

tilfelle "$ count" i 5) ekko "telling er fem" ;; 6) ekko "tall er seks" ;; 7) ekko "telling er syv" ;; 8) ekko "telle er åtte" ;; 9) ekko "tall er ni"; *) ekko "ingen av de ovennevnte" esac

If-setninger brukes ofte innenfor forløkker eller mellomløkker som i dette eksemplet:

teller = 1 ferdig = 0 mens $ telle-9 gjør søvn 1 ((teller ++)) hvis $ telle == 5 fortsett fi ekko "$ count" ferdig ekko Fullført

Du kan også ha nestede hvis uttalelser. Enkeltest nestet hvis setningen er av skjemaet: hvis … da … annet … hvis … da … fi … fi. Men hvis-setningen kan nestes med vilkårlig kompleksitet.

Se også hvordan man sender argumenter til et bash-skript, som viser hvordan man bruker betingelseskriterier for å behandle parametere som går fra kommandolinjen.

Den bash shell gir andre programmering konstruksjoner, for eksempel for-looper, while-loops og aritmetiske uttrykk.