Nola idatzi IF-adierazpenak Bash-Script batean

Komandoak, sintaxiak eta adibideak

Baldin eta baldintza-adierazpena baldin bada, zehaztutako baldintzen arabera, ekintzak burutu ditzakezu. Erabateko sistemak erabakiak hartzeko gaitasuna ematen dio.

Adibidez, if-statement baten forma errazena:

Zenbatu = 5 [$ count == 5] bada, orduan "$ count" fi sakatu

Adibide honetan, "zenbaketa" aldagaia erabiltzen da if-statement zati gisa erabil daitekeen baldintza bat zehazteko. Adierazpena bada exekutatu aurretik, "zenbaketa" aldakorra "5" balioa esleituko zaio. Orduan, "adierazpena" balioa "5" den ala ez adierazten du. Horrela bada, gako-hitzak "gero" eta "fi" arteko hitzarmenak exekutatzen dira, bestela adierazpenaren ondorengo adierazpenak exekutatzen direnean. Gako-hitza "fi" da "if" idatzitako atzera. Bash scripting hizkuntza konbentzio hau erabiltzen du adierazpen konplexu baten amaiera adierazteko, esate baterako, adierazpen edo kasu instrukzioak.

"Oihartzuna" adierazpenak bere argumentua inprimatzen du, kasu honetan, "zenbaketa" aldagaiaren balioa, terminalaren leihoari. Hitzaren gakoaren hitzen artean kodearen koskapena irakurgarritasuna hobetzen du baina ez da beharrezkoa.

Baldintza bat egia bada baldintza bat exekutatzeko kode zati bat exekutatzeko baldintza badaukazu, bestela "gezurrezko" hitza erabil dezakezu if-statement batean, adibide honetan:

zenb. = 5 [$ count == 5] bada, orduan "$ count" else echo "count" ez da 5 "

"$ Count == 5" baldintza egiazkoa bada, sistemak "zenbaketa" aldagaiaren balioa inprimatzen du, bestela "zenbaketa ez da 5" katean inprimatzen du.

Baldintza anitzeko arteko bereizketa egin nahi baduzu, "elif" hitza erabili dezakezu, "bestela bestela" deribatua, adibide honetan:

[$ count == 5] bada, orduan "count it is five" elif [$ count == 6] ondoren echo "count is six" else echo "above of none" fi

"Zenbatzea" bada "5" bada, sistemak "zenbatzen bost" inprimatzen du. "Zenbaketa" ez bada "5" baina "6", sistemak "zenbaketa sei da". "5" edo "6" ez badira, sistemak "goian ere ez" inprimatzen du.

Ahal duzun bezala, "elif" klausulak izan ditzakezu. Adibide bat "elif" hainbat baldintza izango lirateke:

[$ count == 5] gero echo "zenbatzen bost da" elif [$ count == 6] ondoren echo "count is six" elif [$ count == 7] ondoren echo "count is seven" elif [$ count = = 8] gero echo "count is eight" elif [$ count == 9] ondoren echo "count nine" else echo "none of the above" fi

Modu trinkoago bat egoera anitzeko adierazpenekin idazteko modu bat da, kasu metodoa. Askotariko "elif" klausulak dituzten if-adierazpena antzeko funtzioak betetzen ditu, baina zehatza da. Esate baterako, aurreko kodearen zatiak "kasu" adierazpenarekin berriro idatz dezake honela:

Kasu "$ count" 5) echo "count is five" ;; 6) echo "count is six" ;; 7) oihartzuna "zenbaketa zazpi da" ;; 8) oihartzuna "zenbaketa zortzi da"; 9) echo "count to nine" ;; *) echo "goian ez dago" esak

Askotan adierazpenak badaude, adibidez, adibidez: foro-loops edo while-loops barruan.

count = 1 done = 0 bitartean [$ count -le 9] lo egin 1 ((count ++)) bada [$ count == 5] gero jarraitu echo "$ count" egin echo amaitutako

Halaber, adierazpenak baldin baditu. Sinpleena habiaratua adierazpenaren forma da: if ... then ... else ... if ... then ... fi ... fi. Hala eta guztiz ere, baldin eta adierazpena konplexutasun arbitrarioarekin habiatua izan daiteke.

Ikus ere argumentuak bash script-era pasatzean , komando lerroan pasatutako parametroak prozesatzeko baldintzapeko nola erabiltzen diren erakusten du.

Bash shell-ek beste programazio-eraikuntza batzuk eskaintzen ditu, esate baterako, for-loops , while-loops eta arithmetic expressions .