V Bash existují různé typy podmíněných příkazů:
- if prohlášení
- prohlášení if-else
- if..elif..else statement
- Vnořené
V tomto článku se naučíme jedno z podmíněných tvrzení, které je if, elseif, else spolu s několika příklady. V několika dalších jazycích je elif zapsán jako elseif nebo else if. Prohlášení elif nám pomáhá při rozhodování mezi různými možnostmi.
Syntaxe if, elseif, else je:
-li <test_expression>;pak
<příkaz k provedení>
elif <test_expression>;pak
<příkaz k provedení>
jiný
<příkaz k provedení>
být
Za klíčovým slovem if ‘následuje podmínka, kterou chcete zkontrolovat. V tomto podmíněném příkazu if-else-if jsou výrazy vyhodnoceny shora dolů.
- Poté následuje pak klíčové slovo.
- Poté, pokud je výraz vyhodnocen jako true, jsou provedeny odpovídající příkazy. Pokud jsou výrazy vyhodnoceny jako nepravdivé, bude provedeno odpovídající prohlášení uvnitř elif.
- Pokud není splněna žádná z podmínek, provede se příkaz uvnitř bloku else.
Příklad 1
Elif (else if) se používá pro více podmínek if. Pokud je první podmínka nepravdivá, zkontrolujte další podmínky if. V následujícím příkladu přijímáme vstup od uživatele a zobrazujeme odpovídající příkazy.
- Pomocí podmínky if zkontrolujte, zda jsou značky větší nebo rovny 80. Pokud je podmínka vyhodnocena jako true, vytiskne se skvěle pomocí příkazu echo pod blokem then.
- Pokud je první podmínka vyhodnocena jako nepravdivá, pak použije podmínku elif ke kontrole, zda jsou značky větší nebo rovné 70, pokud je tato hodnota vyhodnocena jako pravdivá, vytiskne Dobře.
- Pokud žádná z výše uvedených podmínek není vyhodnocena jako pravdivá, přejde na podmínku else a vytiskne uspokojivou.
-li [ $ marky -dát 80 ]
pak
vyhodil 'Vynikající'
elif [ $ marky -dát 60 ]
pak
vyhodil 'Dobrý'
jiný
vyhodil 'Uspokojivý'
být
Příklad 2:
Chceme například dokumentovat známky pro určitý kurz. Celkový počet bodů je 200 se 100 známkami za kvízy a 100 za úkoly. Chceme zobrazit součet úkolů a kvízů a zároveň zajistit, aby celkový počet nepřekročil 200.
- Vezměte vstup: quiz_marks a assignments_marks
- Pomocí podmínek if a elif zajistěte, aby žádný ze dvou vstupů nepřekročil maximální možné značky pro každý z nich, tj. 100.
- Pokud některý ze vstupních značek quiz_marks nebo assignments_marks překročí 100, zobrazte varovnou zprávu pomocí příkazu echo.
- Zkontrolujte prosím vstupní značky pro kvíz
- Zkontrolujte prosím vstupní značky pro přiřazení
- Pokud se žádná z výše uvedených podmínek neshoduje, tj. Ani jedna ze značek nepřesahuje 100, přejděte na podmínku else a zobrazte součet značek pomocí příkazu echo.
číst -p 'Zadejte teoretické značky:'quiz_marks
číst -p 'Zadejte praktické značky:'přiřazení_značky
-li (($ quiz_marks > padesátka));
pak
vyhodil 'Zkontrolujte prosím vstupní značky pro kvíz.'
elif (($ assignments_marks > padesátka));
pak
vyhodil `` Zkontrolujte prosím vstupní značky pro přiřazení. ''
jiný
vyhodil „Vaše celkové známky: součet =$ ((kvízy_značky + značky přiřazení)) '
být
Příklad 3:
Vezměme si další příklad programu bankovního účtu, ve kterém chceme mít tři samostatné výstupy pro 3 různé situace:
- Zůstatek je menší než nula
- Zůstatek je nulový
- Zůstatek je nad nulou
Například v následujícím programu použijte příkazy if, elif, else k zobrazení různých výstupů v různých scénářích:
- Pomocí podmínky if zkontrolujte, zda je zůstatek menší než nula. Pokud je tato podmínka vyhodnocena jako pravdivá, zobrazte zprávu pomocí příkazu echo: Zůstatek je menší než nula, Přidejte další prostředky, jinak vám bude účtována pokuta.
- Pokud výše uvedená podmínka neodpovídá, pak pomocí podmínky elif zkontrolujte, zda je zůstatek roven nule. Pokud se vyhodnotí jako true, zobrazte zprávu: Zůstatek je nulový, přidejte prosím prostředky
- Pokud žádná z výše uvedených podmínek neodpovídá, použijte podmínku else k zobrazení: Váš zůstatek je nad nulou.
Zůstatek=900
-li ((Zůstatek< 0));pak
vyhodil „Zůstatek je menší než nula, přidejte prosím další prostředky, jinak vám bude účtována pokuta“
elif ((Zůstatek ==0));pak
vyhodil „Zůstatek je nulový, přidejte prosím prostředky“
jiný
vyhodil 'Váš zůstatek je nad nulou.'
být
Z výše uvedených příkladů podmíněného příkazu if, elif, else byste nyní měli pochopit, jak toto podmíněné prohlášení funguje a kde ho lze použít v různých scénářích. Doufám, že se vám článek líbil.