Ungeza kanjani izibalo ku-Script Bash
Nakuba i-Bash ingulimi lwe-script, inamakhono amaningi wenjongo yokuhlela uhlelo jikelele. Lokhu kuhlanganisa imisebenzi ye-arithmetic. Kukhona izinketho eziningi ze- syntax ongayisebenzisa ukuze uhlole ukuhlolwa kwe-arithmetic yenkulumo. Mhlawumbe ofundekayo kakhulu umyalo wokuvumela. Ngokwesibonelo
ake "m = 4 * 1024"uzobala izikhathi ezingu-4 1024 futhi anikeze umphumela kuguquguquko "m".
Ungaphrinta umphumela ngokufaka isitatimende se- echo :
vumela "m = 4 * 1024" i-$ mUngahlola lokhu kusuka emgqeni wokulayisha ngokufaka ikhodi elandelayo:
ake "m = 4 * 1024"; beka u-$ mUngaphinda udale ifayela eliqukethe imiyalo ye-Bash, lapho kufanele usengeze umugqa phezulu kwefayela elicacisa uhlelo olufanele ukwenze ikhodi. Ngokwesibonelo:
#! / bin / bash ake "m = 4 * 1024" u-$ $ mUkucabanga ukuthi i-Bash ephathekayo itholakala ku- / bin / bash . Udinga futhi ukusetha izimvume zefayela lakho lokubhala ukuze lisebenze. Ucabanga ukuthi igama lefayela leskripthi ngu-script1.sh , ungabeka izimvume zokwenza ifayela lenzeke ngomyalo:
chmod 777 script1.shNgemuva kwalokho ungayifeza ngomyalo:
./script1.shUkusebenza kwe-arithmetic kufana nalabo abakhuluma ngezilimi ezijwayelekile njengohlelo lweJava no-C. Ngaphandle kokuphindaphindiwe, njengoba kuboniswe ngenhla, usebenzisa okungeziwe:
ake "m = a + 7"noma ukususa:
ake "m = a - 7"noma ukuhlukaniswa:
vumela "m = a / 2"noma i-modulo (okusele ngemuva kokuhlukaniswa kwenani eliphelele):
ake "m =% 100"Uma ukuhlinzwa kusetshenziselwa ukuhluka okufanayo lapho umphumela ubelwe khona ungasebenzisa ama-abtmetic standard abasebenzisi abanikezelayo, abhekiselwa nabo njengabanikazi bezinsiza ezihlanganisiwe. Isibonelo, ngokungezelela, sinakho:
ake "m + = 15"okulingana no "m = m + 15". Ukususa sinalo:
vumela "m - = 3"elilingana nelithi "m = m - 3". Ngokwahlukana sinakho:
ake "m / = 5"elilingana nelithi "m = m / 5". Futhi nge-modulo, sinakho:
ake "m% = 10"okulingana no "m = m% 10".
Ukwengeza, ungasebenzisa ama-operators okwenyukayo nokunciphisa :
ake "m ++"lilingana nelithi "m = m + 1". Futhi
vumela "m--"lilingana nelithi "m = m - 1".
Futhi-ke kukhona u-opharetha "umbuzo wombuzo we-mark-colon" we-ternari, obuyisela okukodwa kwamagugu amabili kuye ngokuthi ngabe isimo esibekiwe siqinisile noma singamanga. Ngokwesibonelo
ake "k = (m <9)? 0: 1"Isandla sokunene salesi sitatimende sesabelo sihlola "0" uma isichazamazwi "m" singaphansi kwezingu-9. Uma kungenjalo, ihlolisisa ku-1. Lokhu kusho ukuthi inguquko "k" inikezwe "0" uma "m" ingaphansi kunama-9 futhi "1" kungenjalo.
Ifomu elijwayelekile lombuzo wombuzo-opharetha bekoloni ngu:
isimo? value-if-true: value-if-falseI-Arithmetic ye-Floating Point e-Bash
U-opharetha ovumelekile kuphela usebenza ngenani le-arithmetic. Ukuze uthole amaphuzu avela ku-arithmetic ongayisebenzisa isibonelo isibalo sokubala se-GNU njengoba siboniswe kulesi sibonelo:
bhala "32.0 + 1.4" | bcI-"pipeline" opharetha "|" idlula inkulumo ye-arithmetic "32.0 + 1.4" ku-calculator ye-bc, ebuyisela inombolo yangempela. Umyalo we- echo ushintsha umphumela wokukhishwa okujwayelekile.
I-syntax ehlukile ye-Arithmetic
Ama-backticks (ama-quotes angemuva angasetshenziswa) angasetshenziselwa ukuhlola inkulumo ye-arithmetic njengalesi sibonelo:
qamba nge-expr $ m + 18`Lokhu kuzongeza 18 kuya kwenani eliguquguqukayo "m" bese uprinte umphumela.
Ukuze unikeze inani le-compute kuyahlukahluka ongasebenzisa uphawu olulinganayo ngaphandle kwezikhala ezizungezile:
m = `expr $ m + 18`Enye indlela yokuhlola izinkulumo ze-arithmetic ukusebenzisa ama-parenthesis kabili. Ngokwesibonelo:
((m * = 4))Lokhu kuzokwenqabela inani leguquguquko "m".
Ngaphandle kokuhlolwa kwe-arithmetic, igobolondo le-Bash linikeza ezinye izinhlelo zokwakha, njenge -loops , ngenkathi-izikhiye , izimo zomzimba , nemisebenzi kanye nezinhlelo zokusebenza .