V tomto tématu pochopíme, jak používat příkazy else-if (elif) ve skriptech Bash k dokončení našich automatizovaných úkolů.
Příkaz Bash else-if se používá pro více podmínek. Je to jako doplněk k příkazu Bash if-else. V Bash elif může existovat několik elif bloků s booleovským výrazem pro každý z nich. V případě prvního 'příkazu if', pokud je podmínka nepravdivá, je zaškrtnuta druhá 'if podmínka'.
Syntaxe Bash Else If (elif)
Syntaxi příkazu else-if ve skriptování shellu Bash lze definovat jako:
znak na řetězec v jazyce Java
if [ condition ]; then elif [ condition ]; then else fi
Stejně jako if-else můžeme použít sadu jedné nebo více podmínek spojených pomocí podmíněných operátorů. Sada příkazů se provede, když je podmínka pravdivá. Pokud neexistuje pravdivá podmínka, provede se blok příkazů uvnitř příkazu 'else'.
Následuje několik příkladů demonstrujících použití příkazu else-if:
Příklad 1
Následující příklad se skládá ze dvou různých scénářů, kde první příkaz else-if je podmínka pravdivá a druhý příkaz else-if je podmínka nepravdivá.
Bash skript
#!/bin/bash read -p 'Enter a number of quantity:' num if [ $num -gt 100 ]; then echo 'Eligible for 10% discount' elif [ $num -lt 100 ]; then echo 'Eligible for 5% discount' else echo 'Lucky Draw Winner' echo 'Eligible to get the item for free' fi
Výstup
java mvc
- Pokud zadáme číslo množství jako 110, pak se podmínka 'if statement' vyhodnotí jako true a výstup vypadá takto:
- Pokud zadáme číslo množství jako 90, pak se podmínka 'elif statement' vyhodnotí jako true a výstup vypadá takto:
- Pokud zadáme číslo množství jako 100, nebude splněna žádná podmínka. V tomto případě se provede blok příkazů uvnitř příkazu „else“ a výstup vypadá takto:
Takto funguje základní bash else-if.
Příklad 2
Tento příklad ukazuje, jak používat více podmínek s příkazem else-if v Bash. Ke spojení více podmínek používáme logické operátory bash.
Bash skript
#!/bin/bash read -p 'Enter a number of quantity:' num if [ $num -gt 200 ]; then echo 'Eligible for 20% discount' elif [[ $num == 200 || $num == 100 ]]; then echo 'Lucky Draw Winner' echo 'Eligible to get the item for free' elif [[ $num -gt 100 && $num -lt 200 ]]; then echo 'Eligible for 10% discount' elif [ $num -lt 100 ]; then echo 'No discount' fi
Poznámka: Je třeba poznamenat, že blok else je volitelný.
Výstup
Pokud zadáme číslo množství jako 100, výstup bude vypadat takto:
Zkuste tento příklad zadáním různých hodnot a podívejte se na výsledky.
Závěr
V tomto tématu jsme se na příkladech dozvěděli o syntaxi a použití příkazu Bash else-if.
začíná javou