V Bash existujú rôzne typy podmienených príkazov:
- ak vyhlásenie
- vyhlásenie if-else
- if..elif..else statement
- Vnorené
V tomto článku sa naučíme jedno z podmienených tvrdení, ktoré je if, elseif, spolu s niekoľkými príkladmi. V niekoľkých ďalších jazykoch je elif napísaný ako elseif alebo inak ak. Vyhlásenie elif nám pomáha rozhodovať sa medzi rôznymi možnosťami.
Syntax if, elseif, else je:
keby <test_expression>;potom
<príkaz na vykonanie>
elif <test_expression>;potom
<príkaz na vykonanie>
inak
<príkaz na vykonanie>
byť
Za kľúčovým slovom if ‘nasleduje podmienka, ktorú chcete skontrolovať. V tomto podmienenom príkaze if-else-if sú výrazy vyhodnotené zhora nadol.
- Potom nasleduje potom kľúčové slovo.
- Potom, ak je výraz vyhodnotený ako pravdivý, vykonajú sa zodpovedajúce príkazy. Ak sú výrazy vyhodnotené ako nepravdivé, vykoná sa zodpovedajúci príkaz vo vnútri elif.
- Ak nie je splnená žiadna z podmienok, vykoná sa príkaz vnútri bloku else.
Príklad 1
Elif (else if) sa používa pre viacnásobné podmienky. V prípade, že sa prvá podmienka splní, skontrolujte ďalšie podmienky. V nasledujúcom príklade preberáme vstup od používateľa a zobrazujeme zodpovedajúce príkazy.
- Podmienku if použite na kontrolu, či sú značky väčšie alebo rovné 80. Ak je podmienka vyhodnotená ako pravdivá, vytlačí sa výborne pomocou príkazu echo v bloku then.
- Ak sa prvá podmienka vyhodnotí ako nepravdivá, potom pomocou podmienky elif skontroluje, či sú značky väčšie alebo rovné 70, ak je táto vyhodnotená ako pravdivá, vytlačí sa hodnota Dobrá.
- Ak žiadna z vyššie uvedených podmienok nie je vyhodnotená ako pravdivá, prejde na podmienku else a vytlačí sa uspokojivá.
keby [ $ známky -dať 80 ]
potom
zahodil 'Vynikajúce'
elif [ $ známky -dať 60 ]
potom
zahodil 'Dobré'
inak
zahodil „Uspokojivé“
byť
Príklad 2:
Napríklad chceme dokumentovať známky pre určitý kurz. Celkový počet bodov je 200 so 100 známkami za kvízy a 100 za úlohy. Chceme zobrazovať súčet úloh a kvízov a zaistiť, aby celkový počet nepresiahol 200.
- Vezmite si vstup: quiz_marks a assignments_marks
- Zaistite, aby žiadny z dvoch vstupov neprekročil maximálne možné značky pre každý z nich, t. J. 100, pomocou podmienok if a elif.
- Ak jeden zo vstupných znakov quiz_marks alebo assignments_marks presahuje 100, zobrazte varovnú správu pomocou príkazu echo.
- Skontrolujte vstupné značky kvízu
- Skontrolujte vstupné značky pre priradenia
- Ak sa žiadna z vyššie uvedených podmienok nezhoduje, tj. Ani jedna zo značiek nepresahuje 100, prejdite na podmienku else a zobrazte súčet značiek pomocou príkazu echo.
čítať -p „Zadajte teóriu:“kvízové značky
čítať -p „Zadajte praktické značky:“priradenia_značky
keby (($ quiz_marks > päťdesiat));
potom
zahodil 'Skontrolujte vstupné značky pre kvíz.'
elif (($ assignments_marks > päťdesiat));
potom
zahodil 'Skontrolujte zadávacie značky pre priradenia.'
inak
zahodil „Vaše celkové známky: súčet =$ ((kvízy_značky + značky priradenia)) '
byť
Príklad 3:
Zoberme si ďalší príklad programu bankového účtu, v ktorom chceme mať tri samostatné výstupy pre 3 rôzne situácie:
- Zostatok je menší ako nula
- Zostatok je nulový
- Zostatok je nad nulou
Napríklad v nasledujúcom programe použite príkazy if, elif, else na zobrazenie rôznych výstupov v rôznych scenároch:
- Pomocou podmienky if skontrolujte, či je zostatok menší ako nula. Ak je tento stav vyhodnotený ako pravdivý, zobrazte správu pomocou príkazu echo: Zostatok je menší ako nula, Pridajte ďalšie finančné prostriedky, inak vám bude účtovaná pokuta.
- Ak sa vyššie uvedená podmienka nezhoduje, potom pomocou podmienky elif skontrolujte, či je zostatok rovný nule. Ak sa vyhodnotí ako pravdivé, zobrazte správu: Zostatok je nulový, pridajte finančné prostriedky
- Ak sa žiadna z vyššie uvedených podmienok nezhoduje, použite podmienku else na zobrazenie: Váš zostatok je nad nulou.
Zostatok=900
keby ((Zostatok< 0));potom
zahodil „Zostatok je nižší ako nula, pridajte ďalšie finančné prostriedky, inak vám bude účtovaná pokuta“
elif ((Zostatok ==0));potom
zahodil „Zostatok je nulový, pridajte finančné prostriedky“
inak
zahodil „Váš zostatok je nad nulou.“
byť
Z vyššie uvedených príkladov podmieneného príkazu, ak, elif, else, by ste teraz mali pochopiť, ako toto podmienené vyhlásenie funguje a kde ho možno použiť v rôznych scenároch. Dúfam, že sa vám článok páčil.