Az IF-nyilatkozatok írása a bash-parancsfájlban

Parancsok, szintaxisok és példák

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 .