Съдържание
- Как да добавите изчисления към Bash Script
- Аритметика с плаваща точка в Баш
- Алтернативен синтаксис за аритметика
Как да добавите изчисления към Bash Script
Въпреки че Bash е скриптов език, той има почти всички възможности на език за програмиране с общо предназначение. Това включва аритметични функции. Има няколко опции за синтаксис, които можете да използвате, за да предизвикате аритметична оценка на даден израз. Може би най-четеният е позволявам команда. Например:
нека m = (4 * 1024)
ще изчисли 4 пъти 1024 и ще присвои резултата на променливата "m".
Можете да разпечатате резултата, като добавите и ехо изявление:
ехо $ m
Можете също да създадете файл, съдържащ командите Bash, като в този случай трябва да добавите ред в горната част на файла, който определя програмата, която трябва да изпълни кода. Например:
#! / Хамбар / Баш
ако приемем, че изпълнителният файл Bash се намира в / Хамбар / Баш, Също така трябва да зададете разрешенията на вашия скриптов файл, така че да е изпълним. Ако приемем, че името на файла на скрипта е script1.sh, можете да зададете разрешенията, за да направите файла изпълним с командата:
chmod + x script1.sh
След това можете да го изпълните с командата:
./script1.sh
Наличните аритметични операции са подобни на тези в стандартните езици за програмиране като Java и C. Освен умножение, както е илюстрирано по-горе, използвате добавяне:
нека m = (5 + 5)
или изваждане:
нека m = (10 - 2)
или разделение:
нека m = (10/2)
или модул (остатъкът след цяло деление):
нека m = (11/2)
Когато операция е приложена към същата променлива, на която е присвоен резултатът, можете да използвате стандартните аритметични оператори за присвояване на стенограми, наричани също и оператори за съставяне на сложни. Например, за допълнение имаме:
((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".
Аритметика с плаваща точка в Баш
Най- позволявам операторът работи само за целочислена аритметика. За аритметика с плаваща запетая можете да използвате например калкулатора на GNU bc, както е показано в този пример:
ехо 32,0 + 1,4 | ж.к.
Операторът "тръба" | " предава аритметичния израз "32,0 + 1,4" в калкулатора на bc, който връща реалното число. Командата echo отпечатва резултата на стандартния изход.
Алтернативен синтаксис за аритметика
Backticks (назад единични кавички) могат да се използват за оценка на аритметичен израз, както в този пример:
ехо `expr $ m + 18`
Това ще добави 18 към стойността на променливата "m" и след това ще разпечатате резултата.
За да присвоите изчислителната стойност на променлива, можете да използвате знака равно, без интервали около нея:
m = `expr $ m + 18`
Друг начин за оценка на аритметичните изрази е използването на двойни скоби. Например:
((m * = 4))
Това ще удвои стойността на променливата "m".
Освен аритметична оценка, Bash черупката предоставя други програмни конструкции, като for-loops, while-loops, conditionals и функции и подпрограми.