#linux #shell #terminal
Можно ли как-то сделать так (как-то настроить shell), что бы можно было в терминале
набирать выражения вида a * b, a + b, a - b, a / c, где a и b- числа, и что бы это
выражение вычислялось?
Т.е. что бы можно было делать вот так:
dzmitry@mycomp:~$ 12 * 45
А не запуская, например, питон:
dzmitry@mycomp:~$ py
Python 3.4.3 (default, Oct 14 2015, 20:28:29)
[GCC 4.8.4] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> 12 * 45
540
>>>
Т.е. я не пользуюсь калькулятором, а использую командную оболочку с запущенным питоном,
и хочу использовать командную оболочку как калькулятор, минимизируя промежуточные шаги
Ответы
Ответ 1
Можно ли как-то сделать так (как-то настроить shell) увы, «настроить» невозможно. оболочка предназначена для выполнения команд, а не для вычисления арифметических выражений. для таких вычислений нужна специализированная на этом программа. например (из самых распространённых) bc, dc и т.п. bc по умолчанию округляет результат до целых чисел. с помощью команды scale=число можно задать количество знаков после запятой. чтобы каждый раз не вводить эту команду, имеет смысл записать её в конфигурационный файл ~/.bcrc. dc в этом калькуляторе используется обратная польская нотация и, соответственно, стек. пример: 5 k #задать количество знаков после запятой 2 3 / p # поместить в стек 2 и 3, выполнить деление /, напечатать верхушку стека p .66666 # это результатОтвет 2
$ expr 12 + 45 / 15 - 76 \* 8 + 17 -576
Комментариев нет:
Отправить комментарий