Недавно мы говорили о том, как генерировать пароли сразу в терминале Linux (кстати, загляните в комментарии, там накидали еще вариантов генерации паролей).
Сегодня коснемся двух простых инструментов для выполнения простых математических расчетов напрямую в Линукс-терминале. В первую очередь они будут полезны системным администраторам, а также тем, кто часто пользуется терминалом в личных или профессиональных целях.
Почему нельзя воспользоваться сторонним калькулятором или посчитать в уме?
Предостерегая появление подобных вопросов скажу, что в некоторые моменты проще и быстрее воспользоваться терминалом. Говоря иначе, надобность в быстрых расчетах не компенсируется временем, которое будет затрачено на открытие графической версии калькулятора или калькулятора на смартфоне. Что же касается расчетов в уме, то под конец рабочего дня бывает так устает мозг, что порой даже элементарные вычисления происходят не сразу. Например, я прекрасно считаю в уме (складываю, вычитаю и умножаю), но бывают ситуации, когда удобнее воспользоваться чем-то что не собственный мозг.
Встроенная утилита expr
Простая в использовании команда, которая поставляется со всеми дистрибутивами Linux и не требует дополнительной установки. Она вычисляет выражения и выводит результат в стандартный вывод консоли (то бишь, «выхлоп»). Простые арифметические операции выполняются с ее помощью.. эммм.. просто. Возьмем, к примеру сложение, вычитание, умножение и деление и вычисление остатка от него. Общий синтаксис следующий:
expr <операнд №1> <действие> <операнд №2>
При использовании expr следует учитывать ряд моментов:
- при операции деления expr не показывает дробную часть числа и не округляет целую
- при использовании знака умножения (*) его нужно экранировать (\)
Следующим примером использования expr будет сравнение чисел. Если выражение верно, то на «выхлоп» поступит 1, в обратном случае 0.
Ну, и наконец, попробуем использовать дополнительные возможности утилиты при помощи ключевого слова length, которое помогает определить длину строки:
expr length <строка для расчета>
Как видно из примера, при расчете длины строки утилита учитывает пробелы, имейте это ввиду.
Утилита bc
Название утилиты расшифровывается, как «basic calculator». Программа представляет собой полноценный калькулятор, но только в рамках терминала. Она не поставляется «из коробки» поэтому ее нужно установить на дистрибутив.
- Ubuntu/Debian
sudo apt install bc
- Fedora
sudo dnf install bc
- Archlinux
sudo pacman -S bc
Далее нужно ввести в терминал bc и начать использование программы.
В демонстрации я использовал bc в интерактивном режиме, но существует еще неинтерактивный режим, предполагающий передачу необходимо действия в утилиту. Для этого используется оператор echo и символ | (pipe или труба), знакомый нам по другим материалам на канале.
Можно заметить, что bc тоже обрезает дробную часть, но это можно исправить, если добавить ключ -l.
Подведем итог
Перечисленные выше утилиты являются инструментами, которые всегда есть под рукой и используются при необходимости. Согласитесь, что главное наличие инструмента, а уж сценарий его использования рано или поздно появится.
Больше заметок про софт под Linux и использование терминала вы найдете в соответствующих рубриках на канале. От вас же необходима активность и обратная связь: комментарии, лайки, репосты и подписки.