Jak psát IF-prohlášení v Bash-Script

Příkazy, syntaxe a příklady

S if-statement, což je typ podmíněného příkazu, můžete provádět různé akce v závislosti na specifikovaných podmínkách. To efektivně dává systému schopnost rozhodovat.

Příklad nejjednodušší formy if-statement by byl:

count = 5 pokud [$ count == 5] a pak echo "$ count" fi

V tomto příkladu je pro určení podmínky, která se používá jako součást příkazu if, použita proměnná "count". Před provedením příkazu if je proměnné "count" přiřazena hodnota "5". Příkaz if-pak zkontroluje, zda hodnota "count" je "5". Pokud je tomu tak, provede se příkaz mezi klíčovými slovy "pak" a "fi", jinak budou provedeny všechny příkazy po příkazu if. Klíčové slovo "fi" je "if" napsáno dozadu. Bash skriptovací jazyk používá tuto konvenci k označení konce složitého výrazu, takového příkazu if-statement nebo případových příkazů.

Příkaz "echo" vytiskne jeho argument, v tomto případě hodnotu proměnné "count", do okna terminálu. Odsazení kódu mezi klíčovými slovy if-statement zlepšuje čitelnost, ale není nutné.

Pokud máte situaci, kdy by měl být kód proveden pouze v případě, že podmínka není pravdivá, můžete použít klíčové slovo "else" v příkazu if, jako v tomto příkladu:

count = 5 pokud [$ count == 5] pak echo "$ count" else echo "count not 5" fi

Pokud je podmínka "$ count == 5" pravdivá, systém vytiskne hodnotu proměnné "count", jinak vytiskne řetězec "count not 5".

Chcete-li rozlišit více podmínek, můžete použít klíčové slovo "elif", které je odvozeno z výrazu "else if", jako v tomto příkladu:

pokud [$ count == 5] pak echo "počet je pět" elif [$ count == 6] pak echo "počet je šest" jiný echo "žádný z výše uvedených" fi

Pokud je "počet" "5", systém vytiskne "počet je pět". Pokud "počet" není "5", ale "6", systém vytiskne "počet je šest". Není-li to "5" ani "6", systém vytiskne "žádný z výše uvedených".

Jak jste si možná mysleli, můžete mít libovolný počet "elif" klauzí. Příkladem s vícenásobnými podmínkami "elif" by bylo:

pokud je [$ count == 5] pak echo "count is five" elif [$ count == 6] pak echo "count is six" elif [$ count == 7] = 8] pak echo "počet je osm" elif [$ count == 9] pak echo "počet je devět" jiný echo "žádný z výše uvedených" fi

Kompaktnější způsob psaní takových příkazů s více podmínkami je metoda případu . Funguje podobně jako v příkazu if s několika klauzulemi "elif", ale je stručnější. Například výše uvedený kód lze přepisovat pomocí příkazu "případ" následujícím způsobem:

případ "$ count" v 5) echo "count is five" ;; 6) echo "počet je šest"; 7) echo "count is seven" ;; 8) echo "počet je osm"; 9) echo "počet je devět"; *) echo "žádné z výše uvedených" esak

Pokud jsou příkazy často používány uvnitř smyček nebo smyček jako v tomto příkladu:

count = 1 done = 0 zatímco [$ count -le 9] dělá spánek 1 ((count ++)) pokud [$ count == 5] pokračuje ech echo "$ count" done echo

Můžete také vnořit, pokud se jedná o výkazy. Nejjednodušší vnořeno, pokud je příkaz ve tvaru: if ... then ... else ... if ... then ... fi ... fi. Nicméně, pokud příkaz může být vnořen s libovolnou složitostí.

Podívejte se také na to, jak předávat argumenty skriptu bash , který ukazuje, jak používat podmíněné parametry pro zpracování parametrů předaných z příkazového řádku.

Balíček bash poskytuje další programovací konstrukty, jako jsou smyčky pro smyčky , smyčky while a aritmetické výrazy .