Как да използвате калкулатора "bc" в скриптове

Програмата Linux може да се използва като удобен настолен калкулатор или като математически скриптов език. Това е толкова лесно, колкото обаждането на командата bc чрез терминал.

Освен помощната програма bc, черупката Bash предоставя и няколко други метода за извършване на аритметични операции .

Забележка: Програмата bc се нарича също основен калкулатор или калкулатор на пейката.

bc Синтаксис на командата

Синтаксисът за командата bc е подобен на програмния език C и се поддържат различни оператори, като добавяне, изваждане, плюс или минус и др.

Това са различните ключове, налични с командата bc:

Вижте този bc Command Manual за повече подробности за това как можете да използвате основния калкулатор.

Пример за команда bc

Основният калкулатор може да бъде използван в терминал, като просто въведете BC , след което можете да въведете редовни математически изрази като:

4 + 3

... за да получите такъв резултат:

7

Когато извършвате поредица от изчисления многократно, има смисъл да използвате bc калкулатора като част от скрипт. Най-простата форма на подобен скрипт би изглеждала така:

#! / bin / bash ехо "6.5 / 2.7" ж.к.

Първият ред е само пътят на изпълнимия файл, който изпълнява този скрипт.

Вторият ред съдържа две команди. Командата ехо генерира низ, съдържащ математическия израз, съдържащ се в единични кавички (6.5 разделен на 2.7 в този пример). Операторът на тръби (|) преминава този низ като аргумент към програмата bc. Изходът на bc програмата се показва на командния ред.

За да изпълните този скрипт, отворете терминален прозорец и отидете до директорията, където се намира скрипта. Ще приемем, че файлът на скрипта се нарича bc_script.sh . Уверете се, че файлът е изпълним чрез командата chmod :

chmod 755 bc_script.sh

След това ще въведете:

./bc_script.sh

Резултатът би бил следният:

2

За да покажете 3 знака след десетичната запетая, тъй като истинският отговор е 2.407407 ..., използвайте декларация за мащаба в рамките на низа, очертана от единичните кавички:

#! / bin / bash echo 'скала = 3; 6.5 / 2.7 ' ж.к.

За по-добра четливост линията с изчисленията може да бъде пренаписана на няколко реда. За да прекъснете командния ред на няколко реда, можете да поставите обратно наклонена черта в края на реда:

ехо "мащаб = 3; var1 = 6.5 / 2.7; var1 '\ | ж.к.

За да включите аргументите на командния ред в изчисленията на bc, трябва да промените единичните кавички в двойни кавички, така че символите на параметрите на командния ред да се интерпретират от shell баш:

echo "мащаб = 3; var1 = 6.5 / 2.7; var2 = 14 * var1; var2 * = $ 1; var2" \ | ж.к.

Първият аргумент на командния ред е достъпен чрез променливата "$ 1", вторият аргумент използва "$ 2" и т.н.

Сега можете да напишете свои персонализирани аритметични функции в отделни скриптове Bash и да ги извикате от други скриптове.

Например, ако script1 съдържа:

#! / bin / bash echo "мащаб = 3; var1 = 6.5 / 2.7; var2 = 14 * var1; var2 * = $ 1; var2" \ | ж.к.

... и script2 съдържа

!! / bin / bash var0 = "100" ехо "var0: $ var0" функция fun1 {echo "scale = 3; var1 = 10; var2 = var1 * $ var0; var2" \ | bc} fres = $ (fun1) ехо "fres:" $ fres var10 = $ (./ script1 $ fres); echo "var10:" $ var10;

... тогава изпълняващият скрипт2 ще извика script1 с помощта на променлива $ fres, изчислена в script2 като параметър.