Bash сценарийіне есептеулерді қалай қосуға болады
Баш - сценарий тілі болса да, жалпы мақсаттағы бағдарламалау тілінің барлық мүмкіндіктері бар. Бұл арифметикалық функцияларды қамтиды. Өрнек арифметикалық бағалау үшін қолдануға болатын бірқатар синтаксистік опциялар бар. Мүмкін, ең оқылатын команда - let командасы. Мысалға
«m = 4 * 1024» болсын4 рет 1024 есептейді және нәтижені «m» айнымалысына тағайындайды.
Сіз эхо- мәлімдемені қосу арқылы нәтижені басып шығара аласыз:
m = 4 * 1024 «echo $ m болсынСіз оны келесі кодты енгізу арқылы пәрмен жолынан тексере аласыз:
«m = 4 * 1024» болсын; echo $ mСіз сондай-ақ, Bash командалары бар файлды жасай аласыз, сол кезде кодты орындауға болатын бағдарламаны көрсететін файлдың жоғарғы жағына сызық қосуыңыз керек. Мысалға:
#! / bin / bash Let «m = 4 * 1024» echo $ mBash атқарушы орындалады / bin / bash . Сондай-ақ, сценарий файлыңыздың рұқсаттарын орындалатын етіп орнатуыңыз керек. Сценарий файлының атауын скрипт1.ш деп есептей отырып, файлды орындалатын файлды пәрменмен жасау үшін рұқсаттарды орната аласыз:
chmod 777 сценарий1.shОдан кейін оны команда арқылы орындай аласыз:
./script1.shҚол жетімді арифметикалық операциялар Java және С сияқты стандартты программалау тілдеріне ұқсас. Жоғарыда суреттелгендей, көбейтуден басқа сіз қосымша пайдаланасыз:
m = a + 7 «болсыннемесе түсіру:
m = a - 7 «болсыннемесе бөлім:
m = a / 2 «болсыннемесе модуль (қалған бүтін бөліктен кейін қалған):
«m = a% 100» болсынНәтиже тағайындалған айнымалыға операция қолданылғанда, қосылыс тағайындау операторлары деп аталатын стандартты арифметикалық стенді тағайындау операторларын қолдана аласыз. Мысалы, қосу үшін бізде:
«m + = 15»бұл «m = m + 15» -ге тең. Алып тастау үшін бізде:
m - = 3 «бұл «m = m - 3» -ге тең. Бөлу үшін бізде:
«m / = 5» болсынбұл «m = m / 5» -ге тең. Және модуль үшін бізде:
«m% = 10»бұл «m = m% 10» -ге тең.
Сонымен қатар, қадамды және азайту операторларын пайдалана аласыз:
«m ++» болсынтең «m = m + 1». Және
рұқсат етіңіз «m--»тең «m = m - 1».
Содан кейін көрсетілген шарттың дұрыс немесе жалған екеніне байланысты екі мәннің бірін қайтаратын үш жақты «сұрақ-нүкте» операторы бар. Мысалға
k = (m <9) 0: 1 «Бұл тапсырманың оң жағы «m» 9-дан аз болса, «0» мәніне бағаланады. Әйтпесе, ол 1-ге дейін бағаланады. Бұл «k» айнымалысы «0» болса, «м» аз болса басқаша 9 және «1».
Сұрақ-нүкте бағанының операторының жалпы формасы:
жағдайы? мән-if-true: value-if-falseБашта нүкте арифметикасы
Let операторы тек бүтін арифметика үшін жұмыс істейді. Өзгермелі нүктелі арифметика үшін, мысалы, мысалда көрсетілгендей, GNU bc калькуляторын пайдалануға болады:
echo «32.0 + 1.4» | бк«Құбыр» операторы | | «32.0 + 1.4» арифметикалық өрнегін нақты сан қайтаратын калькуляторға ауыстырады. Echo командасы нәтижені стандартты шығаруға шығарады.
Арифметика үшін баламалы синтаксис
Бұл мысалдағы арифметикалық өрнекті бағалау үшін Backticks (артқа жалғыз тырнақшалар) пайдаланылуы мүмкін:
echo `expr $ m + 18` дегенді білдіредіБұл «m» айнымалы мәніне 18 қосады және нәтижені басып шығарады.
Есептеу мәнін айнымалыға тағайындау үшін сіз оны айналасында бос орынсыз тең қолымен пайдалануға болады:
m = `expr $ m + 18`Арифметикалық өрнектерді бағалаудың тағы бір жолы екі жақты жақшаны пайдалану болып табылады. Мысалға:
((m * = 4))Бұл «m» айнымалы мәнін төрт есе көбейтеді.
Арифметикалық бағалаудан басқа, Bash қабығы басқа-бағдарламаларды, мысалы, ілмектерді , сонымен қатар ілмектерді , шарттыларды және функцияларды және кіші бағдарламалармен қамтамасыз етеді .