Indlela yokubhala ii-IF-Statements kwi-Bash-Script

Imiyalelo, i-Syntax, kunye nemizekelo

Nge-statement-statement, oluhlobo lwenkqubo engqinelanayo, unokwenza izenzo ezahlukeneyo kuxhomekeke kwiimeko ezichaziweyo. Iphumelela ngokunika inkqubo inkqubo yokwenza izigqibo.

Umzekelo wendlela elula ye-if--statement iya kuba:

inani = 5 ukuba [i-count count == 5] ngoko u-"$ count" fi

Kulo mzekelo, i-variable "count" isetyenziswe ukucacisa imeko esetyenziswa njengenxalenye ye-statement-statement. Ngaphambi kokuba i-statement-yenziwe, i-variable "count" iyabelwa ixabiso "5". Ukuba i-statement ihlola ukuba ngaba inani "kubala" li "5". Ukuba ngaba kunjalo le ngxelo phakathi kwegama elingundoqo elithi "ke" kunye "fi" liyenziwa, ngaphandle koko nayiphi na ingxelo elandelayo emva kokuba i-statement isenziwa. Igama elingundoqo elithi "fi" lithi "ukuba" lichazwa ngasemva. Ulwimi lokubhalwa kwebhasti lusetyenziswa kule ngqungquthela ukuphawula ukuphela kwesibonakaliso esinzima, esinjalo-ingxelo okanye iimeko zengxelo.

Inqaku elithi "echo" litshintshana ingxabano yalo, kulo mzekelo, ukubaluleka koguquko "isibalo", kwi window window. Ukufakwa kwikhowudi phakathi kwamagama aphambili e--thi isitatimende sithuthukisa ukufunda kodwa asiyimfuneko.

Ukuba unemeko apho iqela lekhowudi kufuneka lenzeke kuphela ukuba imeko ayiyinyani, ungasebenzisa igama elingundoqo "enye" ​​kwi-statements-statement, njengale mzekelo:

inani = 5 ukuba [i-count count == 5] kwaye u-echo "$ count" enye inqaku "inani ali-5"

Ukuba imeko "$ count == 5" yinyaniso, inkqubo iprint ixabiso leguquko "isibalo", ngaphandle koko iprinta umtya "inani ali-5".

Ukuba ufuna ukwahlula phakathi kweemeko ezininzi, ungasebenzisa igama elingundoqo igama elithi "elif", elivela "kungenjalo ukuba", njengale mzekelo:

ukuba [i-count count == 5] ngoko u-"ubale ezintlanu" elif [$ count == 6] ngoko u-"ubalekele ezintandathu" nenye inqaku "akukho nanye ngasentla"

Ukuba "isibalo" si "5", inkqubo ichaza "ukubalwa ezintlanu". Ukuba "isibalo" asikho "5" kodwa "6", inkqubo iprint "isibalo sesithandathu". Ukuba ayikho "5" okanye "6", inkqubo iprint "akukho nanye ngasentla".

Njengoko unokuba uqikelele, unayo nayiphi na inani le "Elif". Umzekelo ngeemeko ezininzi ze "elif" ziya kuba:

ukuba [i-count count == 5] ke u-echo "count count five" elif [$ count == 6] uze ulandele "isibalo sesithandathu" elif [$ count == 7] uze ulandele "isibalo sixhenxe" elif [$ count = = 8] uze uvakalise "isibalo sesibhozo" elif [$ count == 9] ngoko u-"ubaleke unesithoba" nenye inqaku "akukho nanye apha ngasentla"

Indlela ehambelanayo yokubhalwa kweengxelo ezinjalo ngeemeko ezininzi yindlela yokwenza. Isebenza ngokufana ne-if-statement eneendidi ezininzi ze "elif" kodwa zincinci. Ngokomzekelo, le nxalenye yekhonkco engenhla ingabhalwa kwakhona kunye nenqaku elithi "icala" ngolu hlobo lulandelayo:

icala "$ count" ngo-5) echo "isibalo ezintlanu"; ;; 6) echo "ukubala ezintandathu";; 7) echo "isibalo sixhenxe";;; 8) echo "isibalo sesibhozo";; 9) echo "isibalo sithoba";; *) bhala "akukho nanye ngasentla" esac

Ukuba-iingxelo zihlala zisetyenziselwa ngaphakathi ngaphakathi -loops okanye ngexesha-loops njengoko kule mzekelo:

inani = 1 kwenziwe = 0 ngelixa i-$ count-9] ilala 1 ((count +++)) ukuba [i-count count == 5] uqhubeke u-"$ count" echotshiwe ephelile

Unako ukufumana isidleke ukuba uthenge iingxelo. Eyona ndawo ilula kakhulu ukuba isitatimende sifom: ukuba ... ke ... mhlawumbi ... ukuba ... ke ... fi ... fi. Nangona kunjalo, ukuba-inkcazo inokuthi idibene nentsonkothileyo.

Jonga kwakhona indlela yokudlulisa ingxabano kwiskripthi sebhasti , esibonisa indlela yokusebenzisa izimo zeemeko ukucwangcisa iiparameter ezidlulileyo ukusuka kumgca womyalelo.

Igobolondo yebhasti inikeza ezinye iinkqubo zokwakha, ezifana ne -loops , ngelixa-loops , kunye nemiboniso ye-arithmetic .