Bashi IF-lause kirjutamine (tingimused)

Koos an kui lause, mis on tingimuslause tüüp, saate sõltuvalt määratud tingimustest teha erinevaid toiminguid. See annab süsteemile tõhusalt võime teha otsuseid.

Bashi põhiline If-lause

Siin on näide an-i kõige lihtsamast vormist kui avaldus:

arv = 5
kui [ $count == 5 ]
siis
kaja "$count"
fi

Selles näites on muutuja loendama määrab tingimuse, mida kasutatakse osana kui avaldus. Enne kui avaldus täidetakse, muutuja loendama on määratud väärtus 5. The kui avaldus kontrollib seejärel, kas väärtus loendama on 5. Kui see on nii, siis avaldus märksõnade vahel siis ja fi hukatakse. Vastasel juhul kõik avaldused, mis järgnevad kui avaldus täidetakse.

Märksõna fi on kui kirjutatud tagurpidi. Bash-skriptikeel kasutab seda tava keeruka avaldise, näiteks an, lõpu tähistamiseks kui avaldus või juhtum avaldus.

The kaja lause prindib oma argumendi, antud juhul muutuja väärtuse loendama, terminali aknasse. Koodi taane märksõnade vahele kui avaldus parandab loetavust, kuid pole vajalik.

Bash Ifi avaldus koos Else'iga

Kui teil on olukord, kus koodiosa tuleks käivitada ainult siis, kui tingimus ei ole tõene, kasutage märksõna

muidu aastal an kui avaldus, nagu selles näites:

arv = 5
kui [ $count == 5 ]
siis
kaja "$count"
muidu
kaja "arv ei ole 5"
fi

Kui tingimus $count == 5 on tõsi, süsteem prindib muutuja väärtuse loendama. Vastasel juhul prindib see stringi arv ei ole 5.

Bash Ifi avaldus Elifiga

Kui soovite eristada mitut tingimust, kasutage märksõna elif, mis on tuletatud muidu kui, nagu selles näites:

kui [ $count == 5 ]
siis
kaja "arv on viis"
elif [ $count == 6 ]
siis
kaja "arv on kuus"
muidu
kaja "mitte ükski ülaltoodust"
fi

Kui loendama on 5, süsteem prindib arv on viis. Kui loendama ei ole 5 aga 6, süsteem prindib arv on kuus. Kui see pole kumbki 5 ega 6, süsteem prindib mitte ükski ülaltoodust.

Sul võib olla suvaline arv elif klauslid. Näide mitmest elif tingimused on:

kui [ $count == 5 ]
siis
kaja "arv on viis"
elif [ $count == 6 ]
siis
kaja "arv on kuus"
elif [ $count == 7 ]
siis
kaja "arv on seitse"
elif [ $count == 8 ]
siis
kaja "arv on kaheksa"
elif [ $count == 9 ]
siis
kaja "arv on üheksa"
muidu
kaja "mitte ükski ülaltoodust"
fi
Bash Case avaldus

Kompaktsem viis selliste mitme tingimusega avalduste kirjutamiseks on juhtum meetod. See toimib sarnaselt kui avaldus mitmega elif klauslid, kuid on sisutihedam. Näiteks saab ülaltoodud koodilõigu ümber kirjutada juhtum avaldus järgmiselt:

juhtum "$count" sisse
5)
kaja "arv on viis"
;;
6)
kaja "arv on kuus"
;;
7)
kaja "arv on seitse"
;;
8)
kaja "arv on kaheksa"
;;
9)
kaja "arv on üheksa"
;;
*)
kaja "mitte ükski ülaltoodust"
esac
Bash If lause tsüklis While

kui sees kasutatakse sageli väiteid for-silmused või while-tsüklid, nagu selles näites:

arv = 1
tehtud = 0
samas [ $count -le 9 ]
teha
magama 1
(( count++ ))
kui [ $count == 5 ]
siis
jätka
fi
kaja "$count"
tehtud
kaja Valmis

Sul võib olla ka pesastatud kui avaldused. Lihtsaim pesastatud kui väide on kujul: kui...siis...muu...kui...siis...fi...fi. Siiski an kui lauset saab pesastada suvalise keerukusega.

Vaata ka kuidas bash-skriptile argumente edastada, mis näitab, kuidas kasutada tingimuslauseid parameetritest edastatud parameetrite töötlemiseks käsurida.

Bash-shell pakub muid programmeerimiskonstruktsioone, nagu for-tsüklid, while-tsüklid ja aritmeetilised avaldised.