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.




