Az if-utasítással, amely a feltételes utasítás egyik fajtája, a megadott feltételeknek megfelelően különböző műveleteket hajthat végre. Hatékonyan hat a rendszer döntési képességére.
Az if-nyilatkozat legegyszerűbb formája például a következő:
count = 5, ha $ count == 5 echo "$ count" fi
Ebben a példában a "számláló" változót használjuk az if-utasítás részeként használt feltétel meghatározására. Az if-utasítás végrehajtása előtt a "count" változó az "5" értékkel van ellátva. Az if-statement azt ellenőrzi, hogy a "count" értéke "5". Ha ez a helyzet, az "akkor" és a "fi" kulcsszavak közötti kivonatot végrehajtják, különben az if-utasítás utáni minden állítás végrehajtásra kerül. A "fi" kulcsszó "ha" fordított hátra. A bash szkriptnyelv ezt az egyezményt használja egy összetett kifejezés végére, például egy if-utasításra vagy esettanulmányokra.
A "echo" utasítás kinyomtatja az argumentumot, ebben az esetben a "count" változó értékét a terminál ablakhoz. A kód beoldása az if-utasítás kulcsszavai között javítja az olvashatóságot, de nem szükséges.
Ha van olyan helyzet, amikor egy kódot csak akkor kell végrehajtani, ha egy feltétel nem igaz, a "más" kulcsszó használható egy if-utasításban, ahogyan ez a példa:
count = 5, ha $ count == 5 majd echo "$ count" másként echo "count nem 5" fi
Ha a "$ count == 5" feltétel igaz, a rendszer kiszámolja a "count" változó értékét, ellenkező esetben a "count counting" karakterláncot kinyomtatja.
Ha meg kívánja különböztetni a több feltétel közül, használhatja az "elif" kulcsszót, amely a "máshol" származik, mint a jelen példában:
ha $ count == 5 echo "count is five" elif $ count == 6, akkor echo "count is six" else echo "none of the above" fi
Ha a "számláló" "5", akkor a rendszer "számláló öt" -t nyomtat ki. Ha a "számlálás" nem "5", hanem "6", akkor a rendszer "hat számot" nyomtat. Ha nem "5" vagy "6", akkor a rendszer "a fentiek egyikét sem nyomtatja".
Amint azt feltételezed, számos "elif" záradékkal rendelkezhet. Egy példa több "elif" feltétel esetén:
ha $ count == 5 echo "számláló öt" elif $ count == 6, akkor visszhang "count is six" elif $ count == 7, majd echo "count is seven" elif $ count = = 8 majd echo "count is eight" elif $ count == 9, majd visszhang "count is nine" egyéb echo "none of the above" fi
Az ilyen kimutatások többféle feltétellel történő összeállításának komputeresebb módja az esettanulmány. Hasonlóan működik az if-utasításhoz több "elif" záradékkal, de sokkal tömörebb. Például a fenti kódrész az "eset" utasítással újra megírható az alábbiak szerint:
eset "$ count" az 5-ben) echo "count five" ;; 6) echo "count hat" ;; 7) echo "count 7" ;; 8) echo "count nyolc" ;; 9) echo "count kilenc" ;; *) echo "none of the above" esac
Ha az utasításokat gyakran a for-hurkok vagy a hurkok körében használjuk, mint ezt a példát:
count = 1 kész = 0, miközben $ count -le 9 aludni 1 ((count ++)) ha $ count == 5 majd folytassa fi echo "$ count" kész echo kész
Ön is beágyazott, ha állításokat. A legegyszerűbb beágyazott, ha a nyilatkozat formája: ha … akkor … más … ha … akkor … fi … fi. Az if-statement azonban önkényes összetettséggel beágyazható.
Lásd még a bash parancsfájl argumentumainak átadását, amely bemutatja, hogyan kell használni a feltételeket a parancssorból átadott paraméterek feldolgozásához.
A bash-shell más programozási konstrukciókat biztosít, például for-hurkok, while-hurkok és aritmetikai kifejezések.




