Башта арифметика

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 $ m

Bash атқарушы орындалады / 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 қабығы басқа-бағдарламаларды, мысалы, ілмектерді , сонымен қатар ілмектерді , шарттыларды және функцияларды және кіші бағдарламалармен қамтамасыз етеді .