Давайте рассмотрим, как можно складывать, вычитать, умножать и делить числа, не покидая терминала.
Время от времени вы можете столкнуться с необходимостью выполнить быстрый расчет в командной строке или в скрипте оболочки.
Обычно для этого используют инструмент bc, но в вашей оболочке также есть несколько способов выполнить основные вычисления.
см. также:
Shell скрипт
Вот пара примеров с использованием $(( … )), который соответствует POSIX, вы можете использовать let или expr, но они менее переносимы:
$ echo $(( 2 + 2 ))
4
$ echo $(( 3 * 3 ))
9
$ echo $(( 4 % 3 ))
1
$ value=$(( 5 - 3 )) && echo $(( value += 1 ))
3
В случае, когда требуется работать с десятичными числами, это не работает.
Например, в sh или bash:
$ echo $(( 2 * 2.25 ))
bash: 2 * 2.25 : syntax error: invalid arithmetic operator (error token is ".25 ")
Обратите внимание, если вы используете zsh, то вышеописанное будет работать, потому что он обрабатывает десятичные числа.
Инструмент bc
На многих системах bc установлен по умолчанию, но если это не так, вы можете установить его с помощью выбранного вами менеджера пакетов, например apt-get install bc, вот несколько примеров:
$ bc <<< "2 + 3 - 4"
1
$ bc <<< 2+3-4
1
$ bc <<< "4 % 3"
1
$ value="$(bc <<< "3 * 5")" && echo "${value}"
15
$ bc <<< 1/4
0
$ bc -l <<< 1/4
.25000000000000000000
$ bc <<< "scale=3; 1/4"
.250