Domanda

In Windows, quando ho bisogno di eseguire calcoli di base, utilizzo una calcolatrice integrata. Ora vorrei scoprire qual è il modo comune se hai solo una shell.

Grazie

È stato utile?

Soluzione

E puoi sempre usare l'interprete Python, normalmente è incluso nelle distribuzioni di Linux.

http://docs.python.org /tutorial/introduction.html#using-python-as-a-calculator

$ python
Python 2.6.2 (r262:71605, Apr 14 2009, 22:40:02) [MSC v.1500 32 bit (Intel)]
Type "help", "copyright", "credits" or "license" for more information.
>>> 2+2
4
>>> # This is a comment
... 2+2
4
>>> 2+2  # and a comment on the same line as code
4
>>> (50-5*6)/4
5
>>> # Integer division returns the floor:
... 7/3
2
>>> 7/-3
-3
>>> # use float to get floating point results.
>>> 7/3.0
2.3333333333333335

Il segno di uguale ('=') viene utilizzato per assegnare un valore a una variabile. Successivamente, nessun risultato viene visualizzato prima del prossimo prompt interattivo:

>>> width = 20
>>> height = 5*9
>>> width * height
900

E ovviamente c'è il math che dovrebbe risolvere la maggior parte delle esigenze della tua calcolatrice .

>>> import math
>>> math.pi
3.1415926535897931
>>> math.e
2.7182818284590451
>>> math.cos() # cosine
>>> math.sqrt()
>>> math.log()
>>> math.log10()

Altri suggerimenti

Da questa pagina web (per csh e derivati, da quando hai chiesto):

% @ x = (354 - 128 + 52 * 5 / 3)
% echo Result is $x
Result is 174

e

% set y = (354 - 128 + 52 / 3)
% echo Result is $y
Result is 354 - 128 + 52 / 3

nota i diversi risultati.

Personalmente, mi attengo a / bin / sh e chiamo awk o qualcosa del genere (per la massima portabilità), o altri hanno esibito il bash approccio.

Puoi usare dc . Oppure bc .

Ci sono molte buone soluzioni fornite qui, ma il modo "classico" di eseguire l'aritmetica nella shell è con l'espr.

Bash supporta l'aritmetica di base (solo intero) all'interno $ (()) :

$ echo $(( 100 / 3 ))
33
$ myvar="56"
$ echo $(( $myvar + 12 ))
68
$ echo $(( $myvar - $myvar ))
0
$ myvar=$(( $myvar + 1 ))
$ echo $myvar
57

(esempio copiato direttamente dal collegamento IBM)

Se stai usando bash , ecco un utile esempio di un piccolo script shell che ti permette di fare calcoli dalla riga di comando (inclusa la specificazione della precisione per i numeri in virgola mobile):

http://www.novell.com/coolsolutions/tools/17043.html

Puoi anche usare Perl facilmente dove bc o expr non sono abbastanza potenti:

$ perl5.8 -e '$a=1+2; print "$a\n"' 
3

L'opzione alternativa è usare il comando BC incorporato

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top