Y a-t-il quelque chose comme ça qui prend en charge les opérations de base, certaines fonctions intégrées comme atan(), et éventuellement des fonctions personnalisées via les scripts?
bcet dcsont les 2 calculatrices que j'utiliserai souvent lorsque j'aurai besoin d'un accès depuis un terminal.
Exemples
$ 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'.
Ensuite, vous pouvez taper vos questions:
2
2
5+5
10
Lorsque vous avez terminé, vous pouvez sortir avec un Ctrl+ C.
Essai
Ces calculatrices sont assez riches en fonctionnalités.
mise à l'échelle
scale=5
193 * 1/3
64.33333
équations
principal=100
ir = 0.05
years = 5
futurevalue = principal * (1 + ir)^years
futurevalue
127.62800
vos exemples
8*6-4
44
8*(6-4)
16
calc
Si vous voulez quelque chose d'un peu plus interactif, il y en a calc.
Exemple
$ 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
;
Vous pouvez utiliser les flèches haut / bas pour parcourir les commandes passées et il dispose également d'une aide interactive.
; help
Vous donne ceci:
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
...
Puisque ce n'est pas une question spécifique à Ubuntu, peut-être un lien vers calc en amont plutôt que vers le paquet Ubuntu?
mattdm
@mattdm - merci d'avoir ajouté ce lien, j'ai laissé l'autre lien simplement b / c que je faisais un lien vers une page de manuel sur calc, pas nécessairement le paquet ubuntu.
slm
6
Il y a beaucoup de réponses à votre question ...
Les plus simples que vous pourriez faire dans le shell.
$ echo $((8*(6-4)))
16
Il existe un programme dédié bc.
$ echo "8*(6-4)" | bc
16
Des fonctions personnalisées via des scripts? Eh bien, les scripts shell et bc les ont tous les deux, en quelque sorte. Cela dépend jusqu'où vous voulez aller.
Pourquoi pas Python? C'est facile à apprendre.
$ python
>>> from math import atan
>>> 8*(6-4)+atan(0)
16.0
J'ai utilisé Python pour cela récemment, mais c'est la raison pour laquelle je veux autre chose. Il devient ennuyeux d'avoir à importer quelque chose pour chaque fonction. J'espérais plus pour quelque chose de autonome, comme Speedcrunch ( i.imgur.com/Cn6GejG.png ), mais en ligne de commande évidemment.
Lucas Phillips
1
Vous pouvez résoudre le problème d'importation en définissant la variable d'environnement PYTHONSTARTUP et en préimportant des éléments dans le fichier pointé par la variable.
mkc
5
Dans zsh:
$ autoload zcalc # best in ~/.zshrc
$ zcalc
1> 8*(6-4)
16
2> $1*2
32
Voici un petit hack bash qui vous permettra de faire des calculs simples directement sur la ligne de commande.
alias calc='set -o noglob; docalc'
function docalc { perl -e "print STDOUT $*, \"\\n\""; set +o noglob; }
Ensuite, vous pouvez faire, par exemple,
calc 3 * 15 + 5
Malheureusement, cela ne fonctionne pas bien avec les parenthèses. (Si je me souviens bien, vous pouvez aussi demander à tcsh de les accepter, mais je n'ai pas pu persuader bash de le faire.)
PS. Vous pouvez compter sur bash pour l'arithmétique, en remplaçant l' perlappel par echo $(( $* )); mais cela vous donnera une division entière pour 5/6, etc. L'arithmétique de Perl est plus utile.
Alternative: Si votre seul boeuf avec du python est celui dont vous avez besoin import math, voici votre ami:
% alias calc='python -i -c "from math import *"'
% calc
>>> 5 * atan(0.25)
Une autre façon consiste à utiliser un interpréteur comme Python 3:
$ python3
> from math import *
> 213/53*exp(0.8)/asin(3)
9.645423462356044
Avoir l'avantage, que vous pouvez tout scripter, il existe déjà de nombreuses fonctions (vous pouvez également importer cmathsi vous avez besoin de nombres complexes), vous n'avez pas besoin de définir de précision pour la plupart des cas et python est déjà installé sur la plupart des installations Linux.
Python 3.x est meilleur pour une calculatrice générique que Python 2.x, car Python 3.x fait une division en virgule flottante si le résultat n'est pas un entier.
$ python3
> 3/2
1.5
$ python2
> 3/2
1
L'inconvénient majeur, du moins pour moi, est que les flotteurs ne sont pas imprimés dans la notation scientifique s'ils ne sont pas très grands ou petits, sans chaîne de format:
Il y a beaucoup de réponses à votre question ...
Les plus simples que vous pourriez faire dans le shell.
Il existe un programme dédié
bc
.Des fonctions personnalisées via des scripts? Eh bien, les scripts shell et bc les ont tous les deux, en quelque sorte. Cela dépend jusqu'où vous voulez aller.
Pourquoi pas Python? C'est facile à apprendre.
la source
Dans
zsh
:la source
insecte a des versions Web et terminales:
la source
Maxima CAS :
HTH
la source
Voici un petit hack bash qui vous permettra de faire des calculs simples directement sur la ligne de commande.
Ensuite, vous pouvez faire, par exemple,
Malheureusement, cela ne fonctionne pas bien avec les parenthèses. (Si je me souviens bien, vous pouvez aussi demander à tcsh de les accepter, mais je n'ai pas pu persuader bash de le faire.)
PS. Vous pouvez compter sur bash pour l'arithmétique, en remplaçant l'
perl
appel parecho $(( $* ))
; mais cela vous donnera une division entière pour5/6
, etc. L'arithmétique de Perl est plus utile.Alternative: Si votre seul boeuf avec du python est celui dont vous avez besoin
import math
, voici votre ami:la source
Une autre façon consiste à utiliser un interpréteur comme Python 3:
Avoir l'avantage, que vous pouvez tout scripter, il existe déjà de nombreuses fonctions (vous pouvez également importer
cmath
si vous avez besoin de nombres complexes), vous n'avez pas besoin de définir de précision pour la plupart des cas et python est déjà installé sur la plupart des installations Linux.Python 3.x est meilleur pour une calculatrice générique que Python 2.x, car Python 3.x fait une division en virgule flottante si le résultat n'est pas un entier.
L'inconvénient majeur, du moins pour moi, est que les flotteurs ne sont pas imprimés dans la notation scientifique s'ils ne sont pas très grands ou petits, sans chaîne de format:
la source