Skip to main content

Jak napsat příkaz Bash IF (Podmínky)

Playstation Classic Hack Tutorial. How to add more games to the Playstation Classic. (Červen 2026)

Playstation Classic Hack Tutorial. How to add more games to the Playstation Classic. (Červen 2026)
Anonim

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.