Можно ли как-то сделать так (как-то настроить 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
>>>
Т.е. я не пользуюсь калькулятором, а использую командную оболочку с запущенным питоном, и хочу использовать командную оболочку как калькулятор, минимизируя промежуточные шаги
Ответ
Можно ли как-то сделать так (как-то настроить shell)
увы, «настроить» невозможно. оболочка предназначена для выполнения команд, а не для вычисления арифметических выражений.
для таких вычислений нужна специализированная на этом программа. например (из самых распространённых) bc, dc и т.п.
bc
по умолчанию округляет результат до целых чисел. с помощью команды scale=число можно задать количество знаков после запятой. чтобы каждый раз не вводить эту команду, имеет смысл записать её в конфигурационный файл ~/.bcrc
dc
в этом калькуляторе используется обратная польская нотация и, соответственно, стек. пример:
5 k #задать количество знаков после запятой
2 3 / p # поместить в стек 2 и 3, выполнить деление /, напечатать верхушку стека p
.66666 # это результат
Комментариев нет:
Отправить комментарий