Villkorliga uttalanden: Det finns totalt 5 villkorliga uttalanden som kan användas i bash-programmering
- om uttalande
- if-else uttalande
- if..elif..else..fi uttalande (Else If ladder)
- om..så..annat..om..så..fi..fi..(Inkapslade om)
- byta uttalande
Deras beskrivning med syntax är som följer:
om uttalande
Detta block kommer att bearbetas om det angivna villkoret är sant.
Syntax:
if [ expression ] then statement fi>
if-else uttalande
Om det angivna villkoret inte är sant i if-delen kommer en annan del att exekveras.
Syntax
if [ expression ] then statement1 else statement2 fi>
if..elif..else..fi uttalande (Else If ladder)
För att använda flera villkor i ett if-else-block, används nyckelordet elif i skalet. Om expression1 är sant så kör den påstående 1 och 2, och denna process fortsätter. Om inget av villkoren är sant behandlas den andra delen.
Syntax
if [ expression1 ] then statement1 statement2 . . elif [ expression2 ] then statement3 statement4 . . else statement5 fi>
om..så..annat..om..så..fi..fi..(Inkapslade om)
Kapslade if-else-block kan användas när ett villkor är uppfyllt och sedan kontrollerar det igen ett annat villkor. I syntaxen, om expression1 är false så bearbetar den else del, och återigen expression2 kommer att kontrolleras.
Syntax:
if [ expression1 ] then statement1 statement2 . else if [ expression2 ] then statement3 . fi fi>
byta uttalande
case-satsen fungerar som en switch-sats om det angivna värdet matchar mönstret så kommer det att exekvera ett block av det specifika mönstret
När en matchning hittas, alla associerade satser tills det dubbla semikolonet (;;) exekveras.
Ett ärende kommer att avslutas när det sista kommandot utförs.
Om det inte finns någon matchning är utgångsstatusen för ärendet noll.
Syntax:
case in Pattern 1) Statement 1;; Pattern n) Statement n;; esac>
Exempel program
Exempel 1:
Genomförandeif>påstående
#Initializing two variables> a=10> b=20> > #Check whether they are equal> if> [>$a> ==>$b> ]> then> >echo> 'a is equal to b'> fi> > #Check whether they are not equal> if> [>$a> !=>$b> ]> then> >echo> 'a is not equal to b'> fi> |
>
>
Produktion
$bash -f main.sh a is not equal to b>
Exempel 2:
Genomförandeif.else>påstående
#Initializing two variables> a=20> b=20> > if> [>$a> ==>$b> ]> then> >#If they are equal then>print> this> >echo> 'a is equal to b'> else> >#>else> print> this> >echo> 'a is not equal to b'> fi> |
>
>
Produktion
$bash -f main.sh a is equal to b>
Exempel 3:
Genomförandeswitch>påstående
CARS=>'bmw'> > #Pass the variable in string> case> '$CARS'> in> >#>case> 1> >'mercedes'>)>echo> 'Headquarters - Affalterbach, Germany'> ;;> > >#>case> 2> >'audi'>)>echo> 'Headquarters - Ingolstadt, Germany'> ;;> > >#>case> 3> >'bmw'>)>echo> 'Headquarters - Chennai, Tamil Nadu, India'> ;;> esac> |
>
>
Produktion
$bash -f main.sh Headquarters - Chennai, Tamil Nadu, India.>
Notera: Skalskript är ett skiftlägeskänsligt språk, vilket innebär att korrekt syntax måste följas när man skriver skripten.
java avgränsare