В этой статье мы покажем вам различные полезные способы выполнения арифметики в терминале Linux.
К концу этой статьи вы изучите основные практические способы выполнения математических вычислений в командной строке.
Давайте начнем!
1. Использование Bash Shell
Первый и самый простой способ выполнять базовую математику в Linux CLI – это использовать двойные скобки.
Вот несколько примеров, где мы используем значения, хранящиеся в переменных:
$ ADD=$(( 1 + 2 )) $ echo $ADD $ MUL=$(( $ADD * 5 )) $ echo $MUL $ SUB=$(( $MUL - 5 )) $ echo $SUB $ DIV=$(( $SUB / 2 )) $ echo $DIV $ MOD=$(( $DIV % 2 )) $ echo $MOD
2. Использование команды expr
Команда expr вычисляет выражения и печатает значение предоставленного выражения в стандартный вывод.
Мы рассмотрим различные способы использования expr для простой математики, сравнения, увеличения значения переменной и определения длины строки.
$ expr 3 + 5 $ expr 15 % 3 $ expr 5 \* 3 $ expr 5 – 3 $ expr 20 / 4
Далее мы рассмотрим, как сделать сравнение. Когда выражение оценивается как ложное, expr будет печатать значение 0, иначе оно печатает 1.
Давайте посмотрим на некоторые примеры:
$ expr 5 = 3 $ expr 5 = 5 $ expr 8 != 5 $ expr 8 \> 5 $ expr 8 \< 5 $ expr 8 \<= 5
Вы также можете использовать команду expr для увеличения значения переменной.
Взгляните на следующий пример (таким же образом вы также можете уменьшить значение переменной).
$ NUM=$(( 1 + 2)) $ echo $NUM $ NUM=$(expr $NUM + 2) $ echo $NUM
Давайте также посмотрим, как найти длину строки, используя:
$ expr length "itisgood yo" 11
Для получения дополнительной информации, особенно о значении вышеперечисленных операторов, см. Справочную страницу expr:
$ man expr
3. Использование команды bc
bc (Basic Calculator) – это утилита командной строки, которая предоставляет все функции, которые вы ожидаете от простого научного или финансового калькулятора.
Он особенно полезен для выполнения математики с плавающей точкой.
Если команда bc не установлена, вы можете установить ее, используя:
$ sudo apt install bc #Debian/Ubuntu $ sudo yum install bc #RHEL/CentOS $ sudo dnf install bc #Fedora 22+
После установки вы можете запустить его в интерактивном или неинтерактивном режиме, передав ему аргументы – мы рассмотрим оба варианта.
Чтобы запустить его в интерактивном режиме, введите команду bc в командной строке и начните выполнять некоторые математические операции, как показано на рисунке.
$ bc
В следующих примерах показано, как использовать bc неинтерактивно в командной строке.
$ echo '3+5' | bc $ echo '15 % 2' | bc $ echo '15 / 2' | bc $ echo '(6 * 2) - 5' | bc
Флаг -l используется в масштабе по умолчанию (цифры после десятичной точки) до 20, например:
$ echo '12/5 | bc' 2 $ echo '12/5 | bc -l' 2.4000000000000000000000
4. Использование команда Awk
Awk – одна из самых известных программ обработки текста в GNU / Linux.
Она поддерживает арифметические операторы сложения, вычитания, умножения, деления и модуля.
Это также полезно для выполнения математики с плавающей точкой.
Вы можете использовать это, чтобы сделать основную математику как показано.
$ awk 'BEGIN { a = 6; b = 2; print "(a + b) = ", (a + b) }' $ awk 'BEGIN { a = 6; b = 2; print "(a - b) = ", (a - b) }' $ awk 'BEGIN { a = 6; b = 2; print "(a * b) = ", (a * b) }' $ awk 'BEGIN { a = 6; b = 2; print "(a / b) = ", (a / b) }' $ awk 'BEGIN { a = 6; b = 2; print "(a % b) = ", (a % b) }'
5. Использование команды factor
Команда factor используется для разложения целого числа на простые множители. Например:
$ factor 10 $ factor 127 $ factor 222 $ factor 110
Использование python (как бонус)
Также вы можете использовать python:
$ python Python 2.7.12 (default, Nov 19 2016, 06:48:10) [GCC 5.4.0 20160609] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> 2*19 38 >>> 39/10 3 >>> 754-192 562 >>> 25+25+25*1 75 >>>