Оригинал: What is a good command-line calculator on Linux
Автор: Dan Nanni
Дата публикации: 21 октября 2014 года
Перевод: А. Кривошей
Дата перевода: октябрь 2015 г.
Любой современный дистрибутив Linux включает графический калькулятор. С другой стороны, если вашим обычным рабочим окружением является терминал, то вы скорее будете искать себе калькулятор, который бы работал в командной строке. В этой категории программ, по моему мнению, единоличным лидером является GNU bc (сокращение от «basic calculator»). Это очень мощная и полезная утилита.
Еще до наступления эры GNU, bc исторически был известным языком для вычислений, первая реализация которого относится к старым добрым временам Unix 70-х годов. Изначально bc был больше известен в качестве языка программирования с синтаксисом, похожим на C. Со временем оригинальный bc эволюционировал в POSIX bc, а затем и в GNU bc.
Возможности GNU bc
Сегодняшний GNU bc является результатом многочисленных усовершенствований предыдущих реализаций, и сегодня он представляет собой стандарт для всех главных дистрибутивов GNU/Linux. bc поддерживает стандартные арифметические операции с числами произвольной точности и различных систем счисления (двоичные, десятеричные, шестнадцатеричные).
, >), составного присваивания (+=,-=,*=,/=,%=,&=,|=,^=,&&=,||=, >=). bc имеет много полезных встроенных функций, таких как извлечение квадратного корня, тригонометрические и обратные тригонометрические функции, логарифмы, экспонента и так далее.
Использование GNU bc
Возможности GNU bc как калькулятора командной строки практически неограничены. В этом руководстве я собираюсь описать самые популярные функции bc. Получить полную информацию о возможностях программы можно из официальной документации.
За исключением случая запуска ранее написанного скрипта, обычно bc используется в интерактивном режиме, где каждая строка, содержащая выражение или оператор, интерпретируется и выполняется на лету. Чтобы перейти в интерактивную сессию bc, введите приведенную ниже команду. Для выхода из сессии введите «quit» и нажмите Enter.
Во всех приведенных в данном руководстве примерах подразумевается, что они вводятся внутри сессии bc.
Типы выражений
Для расчета арифметического выражения просто введите выражение и нажмите Enter. Если хотите, можете сохранить промежуточный вариант в переменной, чтобы затем использовать его в других выражениях.
Переключение между системами счисления ввода/вывода
Обратите внимание, что я задал сначала obase=16, затем ibase=16, а не наоборот. Если бы задал сначала ibase=16, то выражение obase=16 интерпретировалось бы уже в шестнадцатеричном формате (то есть мы присваивали бы obase значение 22 в десятеричной форме).
Точность
В bc точность чисел хранится в специальной переменной под названием scale (количество десятичных цифр после точки). По умолчанию ее значение равно 0, что соответствует хранению всех цифр результата. Вы можете изменить точность, присвоив перменной scale соответствующее значение.
Использование встроенных функций
Помимо простых арифметических операций GNU bc предлагает большой набор продвинутых математических функций, как встроенных, так и находящихся во внешней математической библиотеке. Для использования этих функций запустите bc с опцией «-l».
Ниже проиллюстрированы некоторые из этих встроенных функций.
Квадратный корень из N:
Синус от X (X в радианах):
Косинус от X (X в радианах):
Арктангенс от X (возвращаемое значение в радианах):
Натуральный логарифм от X:
Другие возможности языка
GNU bc поддерживает простые операторы (например присваивание значения переменной, break, return), составные операторы (if, while, for loop), и функции, определенные пользователем. Я не буду детально описывать эти возможности, но вы легко можете научиться пользоваться ними из официального руководства. Ниже пример определения очень простой функции:
Неинтерактивное использование GNU bc
До сих пор мы использовали bc в интерактивном режиме. Однако достаточно часто он используется неинтерактивно, в скриптах оболочки. В этом случае вы можете направить ввод на bc с помощью команды echo, например:
Пишем собственный калькулятор в виде скрипта командной оболочки
Создание меню
Для начала создадим меню, используя оператор select.
Здесь создается меню, и пользователя будут запрашивать, какую операцию он хочет выполнить: сложение, вычитание, умножение или деление. Выглядеть это будет следующим образом:
Теперь добавим блок кода между do и done, использующий оператор case для реализации полнофункционального калькулятора.
Готовый калькулятор:
Мы создали меню, а теперь добавим операции сложения, вычитания, умножения и деления. После того, как пользователь посчитает то, что он хотел, его необходимо спросить, не хочет ли он еще что-нибудь вычислить. Если хочет, мы должны вернуться к началу. Для этого мы используем цикл while.
Мы использовали цикл while, создали меню, выполнили некоторые математические вычисления. В коде умножения:
используются кавычки («), так как * является ключевым словом в скриптах оболочки, и она не воспринимает * как знак умножения. Таким образом, чтобы дать понять скрипту, что мы используем * для умножения, используются кавычки.
Аналогично для кода деления:
Обратите внимание, что скрипт оболочки игнорирует дробную часть при делении. Например, если мы разделим 10 на 8, ответ будет 1, а остальное будет отброшено. Но, так как мы хотим видеть полный ответ, мы используем для этого утилиту bc. Информацию о ней можно найти на man-странице. Значение scale=2 показывает, что мы хотим получить ответ с точностью до второго знака после запятой. Теперь наш калькулятор выглядит так:
Вы также можете добавить в калькулятор возведение в степень или вычисления по модулю. Скопируйте код и поиграйте с ним.
Быстрые и удобные вычисления в командной строке
Калькуляторы для командной строки позволяют делать большую часть (если не всё) того, что умеют графические калькуляторы, но им есть и чем похвастаться:
У них есть интерактивный и неинтерактивный режимы.
Их можно использовать в скриптах, да и они сами могут запускать свои собственные скрипты.
Они эффиктивны в работе — ваши руки остаются на клавиатуре.
У них есть множество встроенных функций и переменных.
В то время, как Genius — наиболее мощный (и, возможно, наиболее стабильный) из всех вышеупомянутых консольных калькуляторов, Calc наиболее дружелюбный и предоставляет больше возможностей, чем необходимо среднему пользователю. Calc можно найти в репозиториях большинства дистрибутивов, и его можно запустить и под Windows.
Большинство пользователей используют Х под Линуксом вместо того, чтобы пользоваться только лишь командной строкой. В этом случае удобный метод использования Calc — запускать его через виртуальный терминал типа aterm: или
Однако, следует предупредить, что в последней версии Calc есть ошибка — он завершает работу при попытке вызвать несуществующую функцию. Поэтому при изучении функций запускайте его в терминале, который не закрывается при завершении работы Calc, так чтобы хотя бы не терять того, что вы уже набрали в командной строке.
Если вы фанат командной строки, то вам не понадобится даже запускать GUI, чтобы запустить калькулятор. Такие программы, как Calc позволяют ощутить мощь на кончиках пальцев, даже не двигая мышью.
Занимательная математика командной строки
Если вы пользователь Linux, Free/Open BSD или другой свободной ОС, есть вероятность, что интерфейс командной строки вам не чужд. В таком случае можно использовать командную оболочку для простых арифметических действий. Для этого не нужно устанавливать дополнительных программ, все уже есть в базовом наборе операционной системы. Они позволяют качественно заменить привычный калькулятор на столике счетовода.
bash калькулятор целочисленный
Арифметические операции с целочисленными в bash будут выглядеть так:
bc мэдскиллз
Целочисленные выражения это конечно хорошо, но как-то маловато даже для калькулятора. Благо в наборе есть еще bc — Си-подобный интерактивный интерпретатор. Не будем тратить время на сложение и вычитание, перейдем сразу к более интересным занятиям.
Еще 2 важные переменные: ibase и obase указывают на основание входящих и исходящих чисел.
При множественном возведении числа в степень важно расставить нужным образом скобки, ибо bc правоассоциативна и результат может быть не тот, на который вы рассчитывали.
Замер производительности процессора с bc
Много лун назад на одном популярном англоязычном форуме, ныне покойном, предложили гениально простой способ нагреть проц и посчитать его скорость в попугаях.
Скрипты bc
В bc можно, если очень нужно, определять функции и запускать скрипты. Определение функции имеет следующий синтаксис:
Как ЯП bc не взлетел, однако, в качестве настольного калькулятора он более чем хорош.
awk: арифмометр и гадалка
Оглашаю полный список возможностей
Иногда, хочется довериться судьбе и послать все на три буквы — awk. Вообще-то, это пример из книги издательства O’Reilly, имитирует бросание монетки, выдавая 2 разных события пить или не пить с одинаковой вероятностью.
В заключение
В нашей математической мастерской.еще очень много разных программ и если тема взлетит, попробуем перейти в первую и высшую лигу математического ПО с открытыми исходниками.
I. Замена калькулятора
III. Специализированные математические программы, уровень студент+
IV. Языки программирования, математические библиотеки и среды
Список, естественно не полный, поэтому заранее прошу прощение, если не указал чей-то излюбленный математический пакет или ЯП. Последняя группа — поистине разливанное море разнообразного и годного софта.
А вот и обещанный мэдскиллз вместе с ответом на вопрос из картинки. Источник.
Калькулятор в терминале, некоторые команды для использования в Ubuntu
В следующей статье мы рассмотрим некоторые команды для использования калькулятора из терминала из Ubuntu. Многим пользователям Gnu / Linux обычно необходимо использовать калькулятор из терминала несколько раз в день для каких-то целей, поэтому всегда интересно узнать некоторые варианты.
Сегодня мы можем найти множество команд, доступных для этой цели. Эти калькуляторы для терминала позволят нам выполнять всевозможные расчеты простой, научный или финансовый. Мы также сможем использовать эти команды в сценариях оболочки для более сложной математики. Далее мы рассмотрим некоторые из наиболее часто используемых.
Команды для использования калькулятора в терминале
Команда Bc
Bc обозначает базовый калькулятор. Поддерживает числа произвольной точности с интерактивным выполнением операторов. Она имеет некоторое сходство в синтаксисе языка программирования C.
По умолчанию команда bc мы найдем его установленным на всех системах Gnu / Linux. Если вы не можете найти его установленным в вашей системе Debian / Ubuntu, вы можете использовать следующую команду для установки bc, открыв терминал (Ctrl + Alt + T) и введя его:
Используйте команду bc
Мы можем используйте команду bc для выполнения всех видов вычислений прямо из терминала (Ctrl + Alt + T), набрав в нем:
Если мы используем -l параметр будет определена стандартная математическая библиотека:
Команда Calc
Calc является простой калькулятор что позволяет нам выполнять все виды вычислений в командной строке. Чтобы установить его в системах Debian / Ubuntu, мы можем использовать следующую команду в терминале (Ctrl + Alt + T) для установки calc:
Используйте команду calc
Мы сможем использовать команду calc для выполнять всевозможные расчеты прямо из терминала (Ctrl + Alt + T) с помощью интерактивный режим, письмо:
Если мы предпочитаем использовать неинтерактивный режим, вам просто нужно написать команду, а затем выполнить операцию:
Команда expr
Эта команда напечатает значение операции, которая сопровождает выраж на стандартном выходе. Он является частью coreutils, поэтому нам не нужно его устанавливать.
Используйте команду expr
Мы будем использовать следующий формат для основных расчетов.
Команда Gcalccmd
Чтобы установить эту команду, вам просто нужно открыть терминал (Ctrl + Alt + T) и написать в нем:
Используйте команду gcalccmd
На следующем снимке экрана вы можете увидеть несколько примеров использования:
Команда QALC
Это простой в использовании калькулятор, но он дает мощность и универсальность Обычно они предназначены для сложных математических пакетов, а также в качестве полезных инструментов для повседневных нужд.
Возможности включают большую библиотеку настраиваемых функций, вычислений и преобразований единиц измерения, символьных вычислений (включая интегралы и уравнения), произвольной точности, интервальной арифметики, построения графиков и простого в использовании интерфейса (GTK + и CLI).
Для систем Debian / Ubuntu мы сможем использовать qalc, набрав в терминале (Ctrl + Alt + T) следующую команду:
Используйте команду qalc
На следующем снимке экрана вы можете увидеть несколько примеров, чтобы получить представление о том, как использовать этот калькулятор:
Он может узнать больше о qalc на твоей странице GitHub.
Команды оболочки
Мы сможем использовать команды оболочки например echo, awk и т. д. выполнить расчет операций. Например, чтобы выполнить опцию, вам просто нужно ввести в терминал следующее (Ctrl + Alt + T):
В этом случае мы также сможем использовать переменные при выполнении расчетов:
Калькулятор, несомненно, является одним из самых важных инструментов, которые мы должны иметь в любой повседневной системе. По этой причине, если вы являетесь администратором или пользователем, ежедневно использующим терминал, эти команды, которые мы видели выше, могут быть полезны.
Содержание статьи соответствует нашим принципам редакционная этика. Чтобы сообщить об ошибке, нажмите здесь.
Полный путь к статье: Убунлог » Ubuntu » Калькулятор в терминале, некоторые команды для использования в Ubuntu
























