Hvernig á að skrifa IF-yfirlýsingar í Bash-Script

Skipanir, setningafræði og dæmi

Með ef-yfirlýsingu, sem er gerð skilyrt yfirlýsing, getur þú framkvæmt mismunandi aðgerðir eftir ákveðnum skilyrðum. Það gefur í raun kerfið getu til að taka ákvarðanir.

Dæmi um einföldustu formi ef-yfirlýsing væri:

telja = 5 ef [$ telja == 5] þá echo "$ telja" fi

Í þessu dæmi er breytu "telja" notað til að tilgreina ástand sem er notað sem hluti af efnistökunni. Áður en ef-yfirlýsingin er framkvæmd er breytu "telja" úthlutað með gildi "5". Ef-yfirlýsingin athugar þá hvort gildi "telja" er "5". Ef svo er þá er yfirlýsingin milli leitarorðin "þá" og "fi" framkvæmd, annars eru yfirlýsingar sem fylgja ef-yfirlýsingin framkvæmd. Leitarorðið "fi" er "ef" stafsett afturábak. The bash scripting tungumál notar þessa samning til að merkja enda flókinnar tjáningar, svo sem ef yfirlýsingu eða mál yfirlýsingar.

The "echo" yfirlýsingu prentar rök sitt, í þessu tilfelli, gildi breytu "telja", til flugstöðinni gluggann. Innspýting kóðans milli leitarorða ef efnisyfirlitið bætir læsileiki en er ekki nauðsynlegt.

Ef þú ert með aðstæður þar sem aðeins þarf að framkvæma kóðann ef ástandið er ekki satt geturðu notað leitarorðið "annað" í ef-yfirlýsingu, eins og í þessu dæmi:

telja = 5 ef [$ telja == 5] þá echo "$ telja" annars echo "telja er ekki 5" fi

Ef ástandið "$ telja == 5" er satt, kerfið prentar út gildi breytu "telja", annars prentar strengurinn "telja er ekki 5".

Ef þú vilt aðgreina á milli margra aðstæðna getur þú notað leitarorðið "elif", sem er dregið af "Annað ef", eins og í þessu dæmi:

Ef [$ telja == 5] þá echo "telja er fimm" elif [$ count == 6] þá echo "telja er sex" annars echo "ekkert af ofangreindum" fi

Ef "telja" er "5", kerfið prentar út "telja er fimm". Ef "telja" er ekki "5" en "6", kerfið prentar "telja er sex". Ef það er hvorki "5" né "6", prentar kerfið "ekkert af ofangreindu".

Eins og þú gætir hafa giskað, getur þú haft einhverjar "elif" ákvæði. Dæmi með mörgum "elif" skilyrðum væri:

Ef [$ telja == 5] þá echo "telja er fimm" elif [$ count == 6] þá echo "telja er sex" elif [$ count == 7] þá echo "telja er sjö" elif [$ count = = 8] þá echo "telja er átta" elif [$ count == 9] þá echo "telja er níu" annars echo "ekkert af ofangreindum" fi

A fleiri samningur leið til að skrifa slíkar yfirlýsingar með mörgum skilyrðum er málið . Það virkar svipað og ef-yfirlýsingin með mörgum "elif" ákvæðum en er nákvæmari. Til dæmis er hægt að endurskrifa ofangreind kóðann með "tilfelli" yfirlýsingunni sem hér segir:

tilfelli "$ telja" í 5) echo "telja er fimm" ;; 6) Echo "telja er sex" ;; 7) Echo "telja er sjö" ;; 8) Echo "telja er átta" ;; 9) echo "telja er níu" ;; *) echo "ekkert af ofangreindum" esac

Ef-staðhæfingar eru oft notaðar inni fyrir lykkjur eða á meðan lykkjur eru eins og í þessu dæmi:

telja = 1 gert = 0 meðan [$ telja -la 9] gera svefn 1 ((telja + +)) ef [$ telja == 5] þá haltu áfram áframhaldandi echo "$ telja"

Þú getur einnig haft hreiður ef yfirlýsingar. Einfaldasta hreiður ef yfirlýsing er á forminu: ef ... þá ... annars ... ef ... þá ... fi ... fi. Hins vegar, ef-yfirlýsing getur hreiður með handahófskennt flókið.

Sjá einnig hvernig á að fara framhjá rökum í bash handriti , sem sýnir hvernig á að nota skilyrði til að vinna úr breytur liðnum frá skipanalínunni.

The bash skel gefur öðrum forritun smíði, svo sem for-lykkjur , meðan-lykkjur og reikninga tjáning .