Как использовать калькулятор "bc" в скриптах

click fraud protection

Linux до н.э программа функционирует как удобный настольный калькулятор или как язык математических сценариев. Это так же просто, как позвонить до н.экоманда через терминал. Помимо утилиты bc, большинство оболочек предоставляют другие методы, которые выполнять арифметические операции.

Синтаксис команды BC

В синтаксис для команды bc аналогична языку программирования C.

Команда поддерживает несколько переключателей:

  • -час, --помощь: Печатает это использование и закрывается.
  • , - интерактивный: Включает интерактивный режим.
  • -l, --матлиб: Использует стандартные математические процедуры.
  • -q, --тихий: Не печатает начальный баннер.
  • -s, - стандарт: Нестандартные конструкции bc являются ошибками.
  • -w, --предупреждать: Предупреждает о нестандартных конструкциях bc.
  • -v, --версия: Печатает информацию о версии и закрывается.

Просмотрите страницу руководства для до н.э для подробного описания использования команды.

Пример команды BC

Базовый калькулятор можно использовать в терминале, просто введя до н.э, после чего вы можете ввести такие регулярные математические выражения:

4+3

чтобы получить такой результат:

7
Команда Linux bc

Используйте bc в скрипте

При многократном выполнении серии вычислений имеет смысл использовать калькулятор bc как часть скрипта. В простейшей форме такой сценарий выглядел бы примерно так:

#! / bin / bash
echo '6.5 / 2.7' | до н.э

Первая строка - это путь к исполняемому файлу, запускающему этот сценарий. В этом случае среда Bash.

Вторая строка содержит две команды. В эхо Команда генерирует строку, содержащую математическое выражение, заключенное в одинарные кавычки (в данном примере 6,5 делится на 2,7). В трубка оператор (|) передает эту строку в качестве аргумента программе bc. Затем вывод программы bc отображается в командной строке.

Увеличьте производительность bc

Чтобы показать три десятичных разряда, поскольку истинный ответ - 2,407407..., используйте оператор масштабирования внутри строки, разделенной одинарными кавычками:

#! / bin / bash
эхо 'scale = 3; 6.5 / 2.7 '| до н.э
Linux bc с масштабированием

Для удобства чтения строка с расчетами может разбиваться на несколько строк. Поставьте обратную косую черту в конце строки:

эхо 'scale = 3; 
var1 = 6.5 / 2.7;
var1 '\
| до н.э

Используйте аргументы с bc

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

эхо »scale = 3; 
var1 = 6.5 / 2.7;
var2 = 14 * var1;
var2 * = var1;
var2 "\
| до н.э

Доступ к первому аргументу командной строки осуществляется с помощью переменной var1, второй аргумент использует var2.

Linux bc с переменными

Например, если script1 содержит:

#! / bin / bash
эхо »scale = 3;
var1 = 6.5 / 2.7;
var2 = 14 * var1;
var2 * = var1;
var2 "\
| до н.э

а также сценарий2 содержит:

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

затем выполнение сценарий2 вызовет script1 используя переменную $ fres вычислено в сценарий2 как параметр.

Linux bc с двумя скриптами