Софтуер

Аритметика в Баш

Автор: Louise Ward
Дата На Създаване: 3 Февруари 2021
Дата На Актуализиране: 15 Може 2024
Anonim
Как писать BASH скрипты? Закладывание основ или начало с нуля
Видео: Как писать BASH скрипты? Закладывание основ или начало с нуля

Съдържание

Как да добавите изчисления към 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 и функции и подпрограми.

Интересен Днес

Популярни Статии

Как работят електронните машини за гласуване?
Tehnologies

Как работят електронните машини за гласуване?

Има два основни типа електронни машини за гласуване: системи за оптично сканиране и електронни системи за директно записване (DRE). Разликата е, че системите за оптично сканиране използват хартиени б...
Можете ли да изпратите текст на Fitbit Versa?
Живот

Можете ли да изпратите текст на Fitbit Versa?

Не е много по-удобно от това да можете да отговорите на текстово съобщение, когато смартфонът ви е извън обсега. За съжаление няма много устройства, които ви позволяват да правите това. Умните часовн...