Арыфметыка ў Bash

Як дадаць Вылічэнні ў Bash Script

Хоць Bash гэта мова сцэнарыяў, ён мае даволі шмат ўсіх магчымасцяў агульнай мовы праграмавання мэты. Гэта ўключае ў сябе арыфметычныя функцыі. Ёсць цэлы шэраг сінтаксічных параметраў , якія вы можаце выкарыстоўваць , каб выклікаць арыфметычныя вылічэнні выразы. Мабыць, найбольш чытаны адзін з'яўляецца каманда хай. Напрыклад

хай "м = 4 * 1024"

вылічыць 4 разы 1024 і прысвоіць вынік зменнай "т".

Вы можаце раздрукаваць вынік, дадаючы рэха заявы:

хай "м = 4 * 1024" рэха $ м

Вы можаце праверыць гэта з каманднага радка, увёўшы наступны код:

хай "м = 4 * 1024"; Рэха $ м

Вы таксама можаце стварыць файл, які змяшчае каманды Bash, у гэтым выпадку вы павінны дадаць радок у верхняй частцы файла, які вызначае праграму, якая павінна выканаць код. Напрыклад:

#! / Bin / Баш хай "м = 4 * 1024" рэха $ м

мяркуючы , што Bash выкананы файл знаходзіцца ў каталогу / bin / Баш. Акрамя таго, неабходна ўсталяваць правы доступу да файла сцэнарыя, так што ён з'яўляецца выкананым. Мяркуючы , што імя файла скрыпту script1.sh, вы можаце ўсталяваць дазвол , каб зрабіць файл выкананым з дапамогай каманды:

CHMOD 777 script1.sh

Пасля гэтага вы можаце выканаць яго з дапамогай каманды:

./script1.sh

Даступныя арыфметычныя аперацыі аналагічныя такім ў стандартных мовах праграмавання, такіх як Java і C. Акрамя таго, множанне, як паказана вышэй, можна выкарыстоўваць дапаўненне:

хай «м = а + 7»

або адніманне:

хай «м = а - 7»

або дзяленне:

хай «м = а / 2»

або па модулю (астатак пасля дзялення цэлага ліку):

хай «м = а% 100»

Калі аперацыя прымяняецца да адной і той жа зменнай, да якой нададзены вынік, які вы можаце выкарыстоўваць стандартныя арыфметычныя аператары скарочаны прысвойвання, таксама згадваецца як аператары прысвойвання злучэння. Напрыклад, для таго, мы маем:

хай "т + = 15"

што эквівалентна "M = M + 15". Для аднімання мы маем:

хай "м - = 3"

што эквівалентна «м = т - 3». Для падзелу мы маем:

хай "м / = 5"

што эквівалентна «т = т / 5». І па модулю, мы маем:

хай "м = 10%"

што эквівалентна «м = м% 10».

Акрамя таго, вы можаце выкарыстоўваць аператары инкремента і декремента:

хай «м ++»

эквівалентна "M = M + 1". і

хай «m--»

эквівалентна «м = т - 1».

І тады ёсць патройны «пытальнік двукроп'е» аператар, які вяртае адно з двух значэнняў у залежнасці ад таго, названага ўмова з'яўляецца сапраўдным або ілжывым. Напрыклад

хай "да = (т <9) 0: 1"

Правы гэты аператар прысвойвання мае значэнне "0", калі зменныя «м» менш, чым 9. У адваротным выпадку, яна прымае значэнне 1. Гэта азначае, што пераменнае «к» прысвойваюцца «0», калі «м» менш чым 9, і «1» у адваротным выпадку.

Агульны выгляд аператара разметкі тоўстай кішкі пытанне:

стан? кошт калі-праўда: кошт невыполненного-

Арыфметыку з якая плавае коскі ў Bash

Аператар хай працуе толькі для цэлалікавай арыфметыкі. Для арыфметыкі з якая плавае кропкай можна выкарыстоўваць, напрыклад, GNU Ьс калькулятар, як паказана ў наступным прыкладзе:

рэха «32,0 + 1,4» | да нашай эры

«Труба» аператар «|» перадае арыфметычнае выраз «32.0 + 1.4» у БЛ калькулятар, які вяртае сапраўдны лік. Рэха каманда выводзіць вынік на стандартны вывад.

Альтэрнатыўны сінтаксіс для арыфметыка

Зваротныя двукоссі (рэзервовы адзінкавыя двукоссі) могуць быць выкарыстаны для ацэнкі арыфметычнага выразы як у гэтым прыкладзе:

рэха `выраз $ м + 18`

Гэта дадасць 18 да значэння зменнай "м", а затым раздрукаваць вынік.

Для таго, каб прысвоіць значэнне для вылічэнняў на зменную можна выкарыстоўваць знак роўнасці без прабелаў вакол яго:

м = `выраз $ м + 18`

Іншы спосаб вылічэння арыфметычных выразаў з'яўляецца выкарыстанне двайны дужкі. Напрыклад:

((М * = 4))

Гэта ў чатыры разы значэнне зменных «м».

Акрамя арыфметычнай ацэнкі, абалонкі Bash падае іншыя праграмныя канструкцыі, такія , як для-завесы , у той час як-завесы , ўмоўныя і функцыі і падпраграмы .