Найти в Дзене

Два простых инструмента для простой математики в терминале Linux

Оглавление

Недавно мы говорили о том, как генерировать пароли сразу в терминале Linux (кстати, загляните в комментарии, там накидали еще вариантов генерации паролей).

Сегодня коснемся двух простых инструментов для выполнения простых математических расчетов напрямую в Линукс-терминале. В первую очередь они будут полезны системным администраторам, а также тем, кто часто пользуется терминалом в личных или профессиональных целях.

Почему нельзя воспользоваться сторонним калькулятором или посчитать в уме?

Предостерегая появление подобных вопросов скажу, что в некоторые моменты проще и быстрее воспользоваться терминалом. Говоря иначе, надобность в быстрых расчетах не компенсируется временем, которое будет затрачено на открытие графической версии калькулятора или калькулятора на смартфоне. Что же касается расчетов в уме, то под конец рабочего дня бывает так устает мозг, что порой даже элементарные вычисления происходят не сразу. Например, я прекрасно считаю в уме (складываю, вычитаю и умножаю), но бывают ситуации, когда удобнее воспользоваться чем-то что не собственный мозг.

Встроенная утилита expr

Простая в использовании команда, которая поставляется со всеми дистрибутивами Linux и не требует дополнительной установки. Она вычисляет выражения и выводит результат в стандартный вывод консоли (то бишь, «выхлоп»). Простые арифметические операции выполняются с ее помощью.. эммм.. просто. Возьмем, к примеру сложение, вычитание, умножение и деление и вычисление остатка от него. Общий синтаксис следующий:

expr <операнд №1> <действие> <операнд №2>

-2

При использовании expr следует учитывать ряд моментов:

  • при операции деления expr не показывает дробную часть числа и не округляет целую
  • при использовании знака умножения (*) его нужно экранировать (\)

Следующим примером использования expr будет сравнение чисел. Если выражение верно, то на «выхлоп» поступит 1, в обратном случае 0.

-3

Ну, и наконец, попробуем использовать дополнительные возможности утилиты при помощи ключевого слова length, которое помогает определить длину строки:

expr length <строка для расчета>

-4

Как видно из примера, при расчете длины строки утилита учитывает пробелы, имейте это ввиду.

Утилита bc

Название утилиты расшифровывается, как «basic calculator». Программа представляет собой полноценный калькулятор, но только в рамках терминала. Она не поставляется «из коробки» поэтому ее нужно установить на дистрибутив.

  • Ubuntu/Debian

sudo apt install bc

  • Fedora

sudo dnf install bc

  • Archlinux

sudo pacman -S bc

Далее нужно ввести в терминал bc и начать использование программы.

-5

В демонстрации я использовал bc в интерактивном режиме, но существует еще неинтерактивный режим, предполагающий передачу необходимо действия в утилиту. Для этого используется оператор echo и символ | (pipe или труба), знакомый нам по другим материалам на канале.

-6

Можно заметить, что bc тоже обрезает дробную часть, но это можно исправить, если добавить ключ -l.

-7

Подведем итог

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

Больше заметок про софт под Linux и использование терминала вы найдете в соответствующих рубриках на канале. От вас же необходима активность и обратная связь: комментарии, лайки, репосты и подписки.

Теория и практика Linux
Софт на Linux