Як дадаць Вылічэнні ў 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 падае іншыя праграмныя канструкцыі, такія , як для-завесы , у той час як-завесы , ўмоўныя і функцыі і падпраграмы .