#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
Комментариев нет:
Отправить комментарий