Skip to content

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

6 de Srpen de 2021
typing computer 57b92a183df78c8763162d85

S -li prohlášení, což je typ podmíněného příkazu, můžete provádět různé akce v závislosti na zadaných podmínkách. Účinně to dává systému schopnost rozhodovat se.

Zde je příklad nejjednodušší formy -li prohlášení: počet = 5
-li [ $count == 5 ]
pak
echo „počet $“
fi

V tomto případě proměnná počet určuje podmínku, která se používá jako součást -li prohlášení. Před -li příkaz je proveden, proměnná počet je přiřazena hodnota 5. The -li příkaz pak zkontroluje, zda hodnota počet je 5. Pokud tomu tak je, prohlášení mezi klíčovými slovy pak a fi jsou provedeny. Jinak jakákoli prohlášení následující po -li jsou provedeny příkazy. Klíčové slovo fi je -li hláskoval pozpátku. Skriptovací jazyk bash používá tuto konvenci k označení konce komplexního výrazu, například -li prohlášení nebo případ prohlášení. The echo příkaz vytiskne svůj argument, v tomto případě hodnotu proměnné počet, do okna terminálu. Odsazení kódu mezi klíčová slova -li prohlášení zlepšuje čitelnost, ale není nutné.

Prohlášení Bash If s Else

Pokud máte situaci, kdy by měl být kus kódu spuštěn pouze v případě, že podmínka není pravdivá, použijte klíčové slovo jiný v an -li příkaz, jako v tomto příkladu: count = 5
-li [ $count == 5 ]
pak
echo „počet $“
jiný
echo „počet není 5“
fi

Pokud podmínka počet $ == 5 je pravda, systém vytiskne hodnotu proměnné počet. V opačném případě řetězec vytiskne počet není 5.

Prohlášení Bash If s Elif

Chcete -li rozlišovat mezi více podmínkami, použijte klíčové slovo elif, který je odvozen od jinak kdyby, jako v tomto příkladu: if [ $count == 5 ]
pak
echo „počet je pět“
elif [ $count == 6 ]
pak
echo „počet je šest“
jiný
ozvěna „nic z výše uvedeného“
fi

Li počet je 5, systém tiskne počet je pět. Li počet není 5 ale 6, systém tiskne počet je šest. Pokud tomu tak není 5 ani 6, systém tiskne nic z výše uvedeného. Můžete mít libovolný počet elif klauzule. Příklad násobku elif podmínky jsou: pokud [ $count == 5 ]
pak
echo „počet je pět“
elif [ $count == 6 ]
pak
echo „počet je šest“
elif [ $count == 7 ]
pak
echo „počet je sedm“
elif [ $count == 8 ]
pak
echo „počet je osm“
elif [ $count == 9 ]
pak
echo „počet je devět“
jiný
ozvěna „nic z výše uvedeného“
fi

Prohlášení Bash Case

Kompaktnější způsob, jak psát taková prohlášení s více podmínkami, je případová metoda. Funguje podobně jako -li prohlášení s násobkem elif klauzule, ale je stručnější. Výše uvedený kus kódu lze například přepsat pomocí případ následující příkaz: případ „$ count“ v
5)
echo „počet je pět“
;;
6)
echo „počet je šest“
;;
7)
echo „počet je sedm“
;;
8)
echo „počet je osm“
;;
9)
echo „počet je devět“
;;
*)
ozvěna „nic z výše uvedeného“
esac

Příkaz Bash If ve smyčce While

-li příkazy se často používají uvnitř smyček for-loops nebo while-loops, jako v tomto příkladu: count = 1
hotovo = 0
zatímco [ $count -le 9 ]
dělat
spát 1
((počet ++))
-li [ $count == 5 ]
pak
pokračovat
fi
echo „počet $“
Hotovo
echo Hotovo

class = „ql-syntax“> Můžete také mít vnořené -li prohlášení. Nejjednodušší vnořené -li prohlášení má formu: if … then … else … if … then … fi … fi. Nicméně, an -li prohlášení lze vnořit s libovolnou složitostí. Podívejte se také na to, jak předat argumenty skriptu bash, který ukazuje, jak používat podmíněné podmínky ke zpracování parametrů předaných z příkazového řádku. Bash shell poskytuje další programovací konstrukce, jako jsou for-loops, while-loops a aritmetické výrazy.