Арифметикӣ дар Башорат

Чӣ тавр илова кардани ҳисобкунӣ ба Системаи Bash

Гарчанде ки Bash забони забони анъанавӣ аст, ин ҳама қобилияти забони барномасозии умумии ҳадаф дорад. Ин функсияҳои арифметикиро дар бар мегирад. Якчанд вариантҳои синтаксикӣ , ки шумо метавонед барои арзёбии арифметикии баён сухан ронед. Эҳтимол яке аз онҳое , Барои намуна

бигзор "m = 4 * 1024"

4 миқдори 1024-ро ҳисоб мекунад ва натиҷаро ба миқдори тағйирёбанда муқаррар мекунад.

Шумо метавонед натиҷаро бо илова кардани echo изҳор кунед:

бигзор "m = 4 * 1024" echo $ m

Шумо метавонед инро аз хатти фармон аз тариқи рамзи зерин ворид кунед:

бигзор "m = 4 * 1024"; echo $ m

Шумо инчунин метавонед файлеро, ки дар он фармонҳои Bash бунёд кунед, дар ҳолате, ки шумо бояд дар сатри боло рамзро илова кунед, ки барномаеро, ки барои иҷро кардани рамз пешбинӣ шудааст, муайян мекунад. Барои намуна:

#! / bin / bash "m = 4 * 1024" echo $ m

ки бо истифода аз сарлавҳаи Bash дар bin / bin / bash ҷойгир аст . Ҳамчунин шумо бояд иҷозатҳои файли скрипти худро муқаррар кунед, то ки он иҷро карда шавад. Тасвири номи файли скрипт script1.sh аст , шумо метавонед иҷозатҳоро барои итмом кардани файл иҷро кунед:

Шабакаи 777 script1.sh

Баъд аз он шумо метавонед онро бо фармони:

./script1.sh

Амали амалии арифметикӣ ба онҳое, ки дар забони барноманависии стандартӣ монанди Java ва C мебошанд, монанд мебошанд, ғайр аз такрори, чуноне, ки дар боло нишон дода шудааст, шумо илова кунед:

Бигзор "м = a + 7"

ё ҷамъоварӣ:

Бигзор "м = a - 7"

ё тақсимбандӣ:

бигзор "m = a / 2"

ё модуло (боқимонда баъд аз тақсимоти ҳамаҷонибаи):

бигзор "м = як 100%"

Вақте, ки амалиёт ба ҳамон тағироте, ки ба он натиҷа таъин шудааст, истифода карда мешавад, метавонед операторҳои ҷудошавии стандартӣ, ки ҳамчун операторҳои ҷудошавии муроҷиаткунанда истифода мешаванд, истифода баранд. Масалан, барои иловаи мо:

бигзор "м + = 15"

ки ба м = м + 15 баробар аст. Барои табдил додани мо:

бигзор "m - = 3"

ки ба м = м - 3 баробар аст. Барои тақсимоти мо:

бигзор "m / = 5"

ки ба m = m / 5 баробар аст. Ва барои модул, мо дорем:

бигзор "м% = 10"

ки ба м = м% 10 баробар аст.

Илова бар ин, шумо метавонед операторҳои increment and decrement -ро истифода баред:

бигзор "m ++"

ба м = м + 1 баробар аст. Ва

бигзор "м--"

ба м = m - 1 баробар аст.

Пас аз он, оператори симпозиуми саввумро "операторҳои савтӣ" номбар кунед, ки яке аз ду арзишро бармеангезад, ки оё ин ҳолат дуруст ё дурӯғ аст. Барои намуна

"k = (m <9)" 0: 1 "

Агар тарафе, ки "m" бошад, аз 0 то 9 бошад, дар тарафи рости ин супориш ҳисоб карда мешавад, агар ин маънои онро дорад, ки тағйирёбандаи "k" ба 0 "таъин карда мешавад, агар" m "камтар бошад аз 9 ва "1" ба таври дигар.

Шабакаи умумии оператори симпозиумии савол:

ҳолати value-if-true: value-if-false

Будҷаи Арифметикӣ дар Боми

Хомӯшгари оператор танҳо барои арифметикӣ ҳосил мекунад. Барои нуқтаи шинокунии арифметикӣ, шумо метавонед масалан, мисоли GNU bc-ро ҳисоб кунед, ки дар ин мисол нишон дода шудааст:

echo "32.0 + 1.4" Бc

"Оператор" ифодаи арифметикии "32.0 + 1.4" -ро ба ҳисоби микротехникӣ мегузорад, ки рақами воқеиро бар мегардонад. Фармони echo натиҷа ба протсеси стандартиро чоп мекунад.

Сифати алтернативӣ барои арифметикӣ

Backticks (нохунакҳои яктарафаи) метавонанд барои арзёбӣ кардани ифодаи арифметикӣ дар ин мисол истифода шаванд:

echo 'expr $ m + 18`

Ин ба 18 арзиши мутаносиби "m" илова карда, сипас натиҷаро чоп мекунад.

Барои муайян кардани арзиши маҷмӯи диапазон, шумо метавонед аломати баробарро бе ихтилоф дар атрофи он истифода набаред:

m = 'expr $ m + 18`

Роҳҳои дигари арзёбӣ кардани ифодаҳои арифметикӣ аз истифодаи воҳиди параметрӣ иборатанд. Барои намуна:

(m * = 4))

Ин арзиши мутаносибан "m" хоҳад буд.

Ғайр аз арзёбии арифметикӣ, ҷилди Bash ба дигар тарҳҳои барномасозӣ, ба монанди ҷӯйборҳо , дарозӣ , шароитҳо , функсияҳо ва зергурӯҳҳо пешниҳод мекунад .