I dette emne vil vi forstå, hvordan man bruger else-if (elif)-sætninger i Bash-scripts for at få vores automatiserede opgaver fuldført.
Bash else-if-sætning bruges til flere forhold. Det er ligesom en tilføjelse til Bash if-else-erklæringen. I Bash elif kan der være flere elif-blokke med et boolesk udtryk for hver af dem. I tilfælde af den første 'if-sætning', hvis en betingelse går falsk, så kontrolleres den anden 'if-betingelse'.
Syntaks for Bash Else If (elif)
Syntaksen for else-if-sætningen i Bash shell-scripting kan defineres som:
registrere hukommelse
if [ condition ]; then elif [ condition ]; then else fi
Ligesom if-else kan vi bruge et sæt af en eller flere betingelser, der er sammenføjet ved hjælp af betingede operatorer. Sættet af kommandoer udføres, når betingelsen er sand. Hvis der ikke er nogen sand betingelse, udføres blokken af kommandoer inde i 'else-sætningen'.
Følgende er nogle eksempler, der demonstrerer brugen af else-if-sætningen:
Eksempel 1
Følgende eksempel består af to forskellige scenarier, hvori den første else-if-sætning er betingelsen sand, og i den anden else-if-sætning er betingelsen falsk.
prologsprog
Bash Script
#!/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
Produktion
- Hvis vi indtaster antallet af mængde som 110, vil betingelsen for 'if-sætning' evalueres til sand, og outputtet ser sådan ud:
- Hvis vi indtaster antallet af mængde som 90, vil betingelsen for 'elif statement' evalueres til sand, og outputtet ser sådan ud:
- Hvis vi indtaster antallet af mængde som 100, vil ingen betingelse være sand. I dette tilfælde udføres blokken af kommandoer inde i 'else-sætningen', og outputtet ser sådan ud:
Sådan fungerer grundlæggende bash else-if.
Eksempel 2
Dette eksempel viser, hvordan man bruger flere betingelser med else-if-sætningen i Bash. Vi bruger bash logiske operatorer til at forbinde flere betingelser.
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
Bemærk: Det skal bemærkes, at en anden blok er valgfri.
Produktion
Hvis vi indtaster antallet af mængder som 100, vil output se sådan ud:
prøv catch block i java
Prøv dette eksempel ved at sætte forskellige værdier og se resultaterne.
Konklusion
I dette emne har vi lært om syntaksen og brugen af Bash else-if-sætning med eksemplerne.