Posso fare matematica di base in Bash?


Risposte:


21

Basta digitare bcnel terminale. Quindi digitare tutte le cose matematiche dopo.

bcsta per " b ASIC c alculator"

Quindi digitare quite inserire per uscire.


2
Solo per chiarezza sarebbe così: echo 25-5 | aC
Medhat Helmy,

Per alcuni problemi di matematica, potresti doverlo racchiudere tra virgolette, comeecho '0.6 * 12' | bc
Goose,

potrebbe anche essere necessario aggiungere una scala per far funzionare la precisione in virgola mobile, ad es.echo "scale=2;557/3672" | bc
CpILL

60

Se stiamo davvero parlando di Bash, non di Bourne Shell (sh) o di altre shell, è facile.

Bash può calcolare le espressioni di base con $ ((espressione)) ed ecco un esempio su come ti piacerebbe usarlo:

 a = 3
 b = 4
 c = $ ((7 * a + b))
 echo $ c

o per uso interattivo, solo

 echo $ ((7 * 3 + 4))

Sembra proprio bash, dal momento che funziona. Sto cercando un gruppo di università
Kurru,

4
La $((expression))sintassi fa parte dello shstandard POSIX e deriva da ksh.
Geekosaur,

6
Bash può fare solo l'aritmetica dei numeri interi. Non può fare l'aritmetica in virgola mobile come ksh93 o zsh
fpmurphy

3
Questa avrebbe dovuto essere la risposta accettata.
Andreas Hartmann,

10

Esistono numerose utilità della riga di comando per eseguire calcoli semplici:

$ expr 100 \* 4
400

$ echo '100 * 4' | bc
400

per citarne solo due. Fai attenzione a moltiplicare come se non sfuggissi al tuo * la shell potrebbe provare a interpretarlo come un jolly.



7

Bene, la tua domanda ha una risposta, ma considera questo:

La maggior parte delle distribuzioni di Linux ha preinstallato Python, quindi perché non usarlo?

Basta digitare

python

nel terminale e poi fai tutto l'aritmetica che vuoi, come

2+2

Verrà emesso 4 :)

Puoi anche farlo direttamente dal terminale con l' -cargomento python.

python -c 'print 2+2'

Sul mio computer, la digitazione pythonrichiede quasi due secondi per iniziare. Piuttosto fastidioso se vuoi solo fare qualcosa di semplice come 2 + 2.
ShreevatsaR

usa python3 se non vuoi arrotondare il float. ad esempio, 2 / 30(python: 0) (python3: 0.06666666666666667)
hrvoj3e

e se hai installato solo python3, ma vuoi arrotondare, usa 2//30oint(2/30)
mazunki l'

3

O Ruby. :)

Anche se potrebbe non essere preinstallato, è piuttosto veloce.

Digita irb, quindi 2+2.

O semplicemente ruby -e 'p 2+2'


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.