Ebben a témakörben megtudjuk, hogyan használhatunk else-if (elif) utasításokat a Bash-szkriptekben az automatizált feladataink elvégzéséhez.
A Bash else-if utasítás több feltételhez is használható. Ez olyan, mint a Bash if-else utasítás kiegészítése. A Bash elifben több elif blokk is lehet, mindegyikhez logikai kifejezéssel. Az első 'if feltétel' esetén, ha egy feltétel hamis lesz, akkor a második 'if feltétel' ellenőrzésre kerül.
A Bash Else If szintaxisa (elif)
Az else-if utasítás szintaxisa a Bash shell szkriptekben a következőképpen definiálható:
xvideoservicethief ubuntu 14.04 letöltés
if [ condition ]; then elif [ condition ]; then else fi
Csakúgy, mint az if-else, használhatunk egy vagy több feltétel halmazát, amelyeket feltételes operátorokkal kapcsolunk össze. A parancskészlet akkor kerül végrehajtásra, ha a feltétel igaz. Ha nincs igaz feltétel, akkor az 'else utasítás'-on belüli parancsblokk végrehajtásra kerül.
Az alábbiakban néhány példa bemutatja az else-if utasítás használatát:
1. példa
A következő példa két különböző forgatókönyvből áll, ahol az első else-if utasításban a feltétel igaz, a második else-if utasításban pedig a feltétel hamis.
Bash Script
Linux átnevezési könyvtár
#!/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
Kimenet
- Ha a mennyiség számát 110-ben adjuk meg, akkor az 'if utasítás' feltétele igaz, és a kimenet így néz ki:
- Ha a mennyiség számát 90-ben adjuk meg, akkor az 'elif utasítás' feltétele igaz lesz, és a kimenet így néz ki:
- Ha a mennyiség számát 100-nak adjuk meg, akkor egyetlen feltétel sem lesz igaz. Ebben az esetben az 'else utasítás'-on belüli parancsblokk végrehajtásra kerül, és a kimenet így néz ki:
Így működik az alap bash else-if.
2. példa
Ez a példa bemutatja, hogyan lehet több feltételt használni az else-if utasítással a Bashban. Bash logikai operátorokat használunk több feltétel összekapcsolására.
Bash Script
#!/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
Megjegyzés: Meg kell jegyezni, hogy az egyéb blokk nem kötelező.
Kimenet
Ha a mennyiség számát 100-ban adjuk meg, akkor a kimenet így fog kinézni:
Próbálja ki ezt a példát különböző értékek megadásával, és nézze meg az eredményeket.
string elemzése int-re
Következtetés
Ebben a témában a példákkal megismerkedtünk a Bash else-if utasítás szintaxisával és használatával.