Есть ли что-нибудь подобное, поддерживающее базовые операции, некоторые встроенные функции и atan(), возможно, пользовательские функции с помощью сценариев?
bcи dc2 калькулятора, которые я буду часто использовать при необходимости доступа с терминала.
Примеры
$ bc
bc 1.06.95
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
Затем вы можете ввести свои вопросы:
2
2
5+5
10
Когда вы закончите, вы можете выйти с Ctrl+ C.
Тест-драйв
Эти калькуляторы довольно многофункциональны.
пересчет
scale=5
193 * 1/3
64.33333
уравнения
principal=100
ir = 0.05
years = 5
futurevalue = principal * (1 + ir)^years
futurevalue
127.62800
ваши примеры
8*6-4
44
8*(6-4)
16
известково
Если вы хотите что-то более интерактивное, есть calc.
пример
$ calc
C-style arbitrary precision calculator (version 2.12.4.4)
Calc is open software. For license details type: help copyright
[Type "exit" to exit, or "help" for help.]
; 10+10
20
; 8*6-4
44
; 8*(6-4)
16
;
Вы можете использовать стрелки вверх / вниз, чтобы пройти через прошлые команды, и он также имеет интерактивную справку.
; help
Дает вам это:
For more information while running calc, type help followed by one of the
following topics:
topic description
----- -----------
intro introduction to calc
overview overview of calc
help this file
assoc using associations
builtin builtin functions
command top level commands
config configuration parameters
custom information about the custom builtin interface
define how to define functions
environment how environment variables effect calc
errorcodes calc generated error codes
expression expression sequences
file using files
history command history
interrupt how interrupts are handled
list using lists
mat using matrices
...
Поскольку это не специфический для Ubuntu вопрос, может быть, ссылка на Calc Upstream вместо пакета Ubuntu?
mattdm
@mattdm - спасибо, добавил эту ссылку, я оставил другую ссылку просто потому, что я ссылался на справочную страницу на calc, а не обязательно на пакет ubuntu.
SLM
6
Есть много ответов на ваш вопрос ...
Простые, которые вы могли бы сделать в оболочке.
$ echo $((8*(6-4)))
16
В качестве специальной программы есть bc.
$ echo "8*(6-4)" | bc
16
Пользовательские функции с помощью сценариев? Ну, и у сценариев оболочки, и у bc они есть, в некотором роде. Зависит от того, как далеко вы хотите это сделать.
Почему не питон? Это легко учиться.
$ python
>>> from math import atan
>>> 8*(6-4)+atan(0)
16.0
Я на самом деле использовал Python для этого в последнее время, но по этой причине я хочу что-то еще. Это раздражает необходимость импортировать что-то для каждой функции. Я надеялся больше на что-то автономное, например, Speedcrunch ( i.imgur.com/Cn6GejG.png ), но, очевидно, командная строка.
Лукас Филлипс
1
Вы можете решить проблему импорта, определив переменную среды PYTHONSTARTUP и предварительно импортировав материал в файл, на который указывает переменная.
MKC
5
В zsh:
$ autoload zcalc # best in ~/.zshrc
$ zcalc
1> 8*(6-4)
16
2> $1*2
32
Вот небольшой взлом bash, который позволит вам сделать простую арифметику прямо в командной строке.
alias calc='set -o noglob; docalc'
function docalc { perl -e "print STDOUT $*, \"\\n\""; set +o noglob; }
Тогда вы можете сделать, например,
calc 3 * 15 + 5
К сожалению, это не очень хорошо с круглыми скобками. (Если я правильно помню, вы можете заставить tcsh принять их тоже, но я не смог убедить Баша.)
PS. Вы можете положиться на bash для арифметики, заменив perlвызов на echo $(( $* )); но это даст вам целочисленное деление 5/6и т. д. Арифметика Perl более полезна.
Альтернатива: если вам нужна только единственная говядина с питоном, то import mathваш друг:
% alias calc='python -i -c "from math import *"'
% calc
>>> 5 * atan(0.25)
Другой способ - использовать интерпретатор, такой как Python 3:
$ python3
> from math import *
> 213/53*exp(0.8)/asin(3)
9.645423462356044
Преимущество заключается в том, что вы можете писать все, что есть, есть много функций (вы также можете импортировать, cmathесли вам нужны комплексные числа), вам не нужно устанавливать точность для большинства случаев, и python уже установлен в большинстве установок Linux.
Python 3.x лучше для универсального калькулятора, чем Python 2.x, потому что Python 3.x делает деления с плавающей запятой, если результат не является int.
$ python3
> 3/2
1.5
$ python2
> 3/2
1
Основным недостатком, по крайней мере для меня, является то, что поплавки не печатаются в научной нотации, если они не очень большие или маленькие, без строки формата:
Есть много ответов на ваш вопрос ...
Простые, которые вы могли бы сделать в оболочке.
В качестве специальной программы есть
bc
.Пользовательские функции с помощью сценариев? Ну, и у сценариев оболочки, и у bc они есть, в некотором роде. Зависит от того, как далеко вы хотите это сделать.
Почему не питон? Это легко учиться.
источник
В
zsh
:источник
Существуют версии как для веб-сайтов, так и для терминалов:
источник
Максима CAS :
НТН
источник
Вот небольшой взлом bash, который позволит вам сделать простую арифметику прямо в командной строке.
Тогда вы можете сделать, например,
К сожалению, это не очень хорошо с круглыми скобками. (Если я правильно помню, вы можете заставить tcsh принять их тоже, но я не смог убедить Баша.)
PS. Вы можете положиться на bash для арифметики, заменив
perl
вызов наecho $(( $* ))
; но это даст вам целочисленное деление5/6
и т. д. Арифметика Perl более полезна.Альтернатива: если вам нужна только единственная говядина с питоном, то
import math
ваш друг:источник
Другой способ - использовать интерпретатор, такой как Python 3:
Преимущество заключается в том, что вы можете писать все, что есть, есть много функций (вы также можете импортировать,
cmath
если вам нужны комплексные числа), вам не нужно устанавливать точность для большинства случаев, и python уже установлен в большинстве установок Linux.Python 3.x лучше для универсального калькулятора, чем Python 2.x, потому что Python 3.x делает деления с плавающей запятой, если результат не является int.
Основным недостатком, по крайней мере для меня, является то, что поплавки не печатаются в научной нотации, если они не очень большие или маленькие, без строки формата:
источник