V tejto téme pochopíme, ako používať príkazy else-if (elif) v skriptoch Bash na dokončenie našich automatických úloh.
Príkaz Bash else-if sa používa pre viacero podmienok. Je to ako doplnok k príkazu Bash if-else. V Bash elif môže byť niekoľko elif blokov s booleovským výrazom pre každý z nich. V prípade prvého „príkazu if“, ak podmienka nie je splnená, skontroluje sa druhá „ak podmienka“.
Syntax Bash Else If (elif)
Syntax príkazu else-if v skriptovaní shellu Bash možno definovať ako:
aký veľký je tento monitor
if [ condition ]; then elif [ condition ]; then else fi
Rovnako ako v prípade, môžeme použiť množinu jednej alebo viacerých podmienok spojených pomocou podmienených operátorov. Sada príkazov sa vykoná, keď je podmienka pravdivá. Ak neexistuje pravdivá podmienka, vykoná sa blok príkazov vo vnútri príkazu „else“.
Nasleduje niekoľko príkladov demonštrujúcich použitie príkazu else-if:
Príklad 1
Nasledujúci príklad pozostáva z dvoch rôznych scenárov, pričom prvý príkaz else-if je podmienka pravdivá a druhý príkaz else-if je podmienka 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ýkon
- Ak zadáme číslo veličiny ako 110, potom sa podmienka „if statement“ vyhodnotí ako pravdivá a výstup bude vyzerať takto:
- Ak zadáme číslo množstva ako 90, podmienka 'elif statement' sa vyhodnotí ako pravdivá a výstup vyzerá takto:
- Ak zadáme číslo množstva ako 100, potom nebude splnená žiadna podmienka. V tomto prípade sa vykoná blok príkazov vo vnútri príkazu „else“ a výstup vyzerá takto:
Takto funguje základný bash else-if.
Príklad 2
Tento príklad ukazuje, ako používať viacero podmienok s príkazom else-if v Bash. Na spojenie viacerých podmienok používame logické operátory bash.
java analyzovať reťazec na int
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: Treba poznamenať, že blok else je voliteľný.
Výkon
if-else java
Ak zadáme číslo množstva ako 100, výstup bude vyzerať takto:
Vyskúšajte tento príklad zadaním rôznych hodnôt a skontrolujte výsledky.
Záver
V tejto téme sme sa na príkladoch dozvedeli o syntaxi a použití príkazu Bash else-if.