Puis-je faire des mathématiques de base dans Bash?


Réponses:


21

Tapez simplement bcdans le terminal. Tapez ensuite toutes les choses mathématiques après cela.

bcsignifie " b asic c alculator"

Tapez ensuite quitet entrez pour quitter.


2
Pour plus de clarté, ce serait comme ça: écho 25-5 | bc
Medhat Helmy

Pour certains problèmes mathématiques, vous devrez peut-être le mettre entre guillemets, tels queecho '0.6 * 12' | bc
Goose

vous devrez peut-être également ajouter une échelle pour que la précision à virgule flottante fonctionne, par exempleecho "scale=2;557/3672" | bc
CpILL

60

Si nous parlons vraiment de Bash, pas de Bourne Shell (sh) ou d'autres shells, c'est facile.

Bash peut calculer des expressions de base avec $ ((expression)) et voici un exemple sur la façon dont vous aimeriez l'utiliser:

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

ou pour une utilisation interactive, juste

 écho $ ((7 * 3 + 4))

Cela semble être un bon coup, car cela fonctionne. Je ssh-ing dans l'un de mes clusters d'universités
Kurru

4
La $((expression))syntaxe fait partie de la shnorme POSIX et dérive de ksh.
geekosaur

6
Bash ne peut faire que de l'arithmétique entière. Il ne peut pas faire d'arithmétique en virgule flottante comme ksh93 ou zsh
fpmurphy

3
Cela aurait dû être la réponse acceptée.
Andreas Hartmann

10

Il existe un certain nombre d’utilitaires de ligne de commande pour effectuer des calculs simples:

$ expr 100 \* 4
400

$ echo '100 * 4' | bc
400

pour n'en nommer que deux. Soyez prudent en faisant la multiplication comme si vous n'échappez pas à votre * le shell peut essayer de l'interpréter comme un caractère générique.



7

Eh bien, votre question a une réponse, mais considérez ceci:

La plupart des distributions Linux ont préinstallé python, alors pourquoi ne pas l'utiliser?

Tapez simplement

python

dans le terminal, puis faites toute l'arithmétique que vous voulez, comme

2+2

Sortira 4 :)

Vous pouvez également le faire directement à partir du terminal avec l' -cargument python.

python -c 'print 2+2'

Sur mon ordinateur, la saisie pythonprend près de deux secondes pour démarrer. Plutôt ennuyeux si vous voulez simplement faire quelque chose de simple comme 2 + 2.
ShreevatsaR

utilisez python3 si vous ne voulez pas d'arrondi flottant. par exemple 2 / 30(python: 0) (python3: 0.06666666666666667)
hrvoj3e

et si vous n'avez installé que python3, mais que vous voulez arrondir, utilisez 2//30ouint(2/30)
mazunki

3

Ou Ruby. :)

Bien qu'il ne soit pas préinstallé, il est assez rapide.

Tapez irb, alors 2+2.

Ou juste ruby -e 'p 2+2'


En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.