logo

Sąlyginiai pareiškimai | Shell scenarijus

Sąlyginiai pareiškimai: Iš viso yra 5 sąlyginiai sakiniai, kuriuos galima naudoti programuojant bash

  1. jei teiginys
  2. jei-kitaip teiginys
  3. if..elif..else..fi teiginys (Else If kopėčios)
  4. jei..tada..kitaip..jei..tada..fi..fi..(Įdėta, jei)
  5. jungiklio pareiškimas

Jų aprašymas su sintaksė yra toks:

jei teiginys
Šis blokas bus apdorotas, jei nurodyta sąlyga bus teisinga.
Sintaksė:



if [ expression ] then statement fi>

jei-kitaip teiginys
Jei nurodyta sąlyga nėra teisinga dalyje if, bus vykdoma kita dalis.
Sintaksė

if [ expression ] then statement1 else statement2 fi>

if..elif..else..fi teiginys (Else If kopėčios)
Norint naudoti kelias sąlygas viename if-else bloke, tada elif raktinis žodis naudojamas apvalkale. Jei išraiška1 yra teisinga, ji vykdo 1 ir 2 teiginius ir šis procesas tęsiasi. Jei nė viena sąlyga nėra teisinga, ji apdoroja kitą dalį.
Sintaksė

if [ expression1 ] then statement1 statement2 . . elif [ expression2 ] then statement3 statement4 . . else statement5 fi>

jei..tada..kitaip..jei..tada..fi..fi..(Įdėta, jei)
Įdėtas if-else blokas gali būti naudojamas, kai tenkinama viena sąlyga, tada vėl tikrinama kita sąlyga. Sintaksėje, jei išraiška1 yra klaidinga, ji apdoroja kitą dalį ir vėl bus patikrinta išraiška2.
Sintaksė:

if [ expression1 ] then statement1 statement2 . else if [ expression2 ] then statement3 . fi fi>

jungiklio pareiškimas
atvejo sakinys veikia kaip perjungimo sakinys, jei nurodyta reikšmė atitinka šabloną, tada jis vykdys to konkretaus šablono bloką
Kai randama atitiktis, visi susiję teiginiai, kol nebus įvykdytas dvigubas kabliataškis (;;).
Byla bus nutraukta, kai bus įvykdyta paskutinė komanda.
Jei atitikties nėra, atvejo išėjimo būsena lygi nuliui.

Sintaksė:

case in Pattern 1) Statement 1;; Pattern n) Statement n;; esac>

Pavyzdinės programos

1 pavyzdys:
Įgyvendinimasif>pareiškimas




#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>

>

>

Išvestis

$bash -f main.sh a is not equal to b>

2 pavyzdys:
Įgyvendinimasif.else>pareiškimas




#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>

>

>

Išvestis

$bash -f main.sh a is equal to b>

3 pavyzdys:
Įgyvendinimasswitch>pareiškimas




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>

>

>

Išvestis

$bash -f main.sh Headquarters - Chennai, Tamil Nadu, India.>

Pastaba: Shell scenarijus yra didžiųjų ir mažųjų raidžių kalba, o tai reiškia, kad rašant scenarijus reikia laikytis tinkamos sintaksės.

css keičia vaizdo dydį