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


Je me demandais, est-il possible de faire des maths simples en bash? Je pense que quelque chose comme: 25-5 imprimera 20 ou quelque chose.

Est-ce que cela peut être fait facilement?

Je vous remercie


20
2018-03-11 00:05


origine


Comment faire des calculs d'entiers & flottants, en bash ou dans d'autres langages / frameworks? - phuclv


Réponses:


Tapez simplement "bc" pas de devis dans le terminal. Ensuite, tapez tous les trucs mathématiques après cela.


17
2018-03-11 00:14



Juste pour plus de clarté, ce serait comme ça: echo 25-5 | avant JC - Medhat Helmy
Pour certains problèmes mathématiques, vous devrez peut-être les placer entre guillemets, tels que echo '0.6 * 12' | bc - Goose


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 de la façon dont vous pouvez l’utiliser:

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

ou pour une utilisation interactive, juste

 echo $ ((7 * 3 + 4))

45
2018-03-11 00:46



Il semble que ce soit correct, puisque cela fonctionne. Je ssh-ing dans l'un des groupes de mes universités - Kurru
le $((expression)) la syntaxe fait partie du POSIX sh standard, et dérivé de ksh. - geekosaur
Bash ne peut faire que de l'arithmétique entière. Il ne peut pas faire de l'arithmétique en virgule flottante comme ksh93 ou zsh - fpmurphy1
Cela aurait dû être la réponse acceptée. - Andreas Hartmann


Il existe plusieurs 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. Faites attention en multipliant comme si vous n'échappiez pas à votre * le shell pourrait essayer de l'interpréter comme un joker.


9
2018-03-11 00:08





Un autre est AWK:

awk 'BEGIN {4 + 3 / 12}'

6
2018-03-11 01:25





Eh bien, votre question reçoit une réponse, mais considérez ceci:

Python est préinstallé sur la plupart des distributions Linux, alors pourquoi ne pas l'utiliser?

Il suffit de taper

python

dans le terminal et ensuite faire tout l'arithmétique que vous voulez, comme

2+2

Va sortir 4 :)

Vous pouvez également le faire directement depuis le terminal avec le -c argument python

python -c 'print 2+2'

6
2018-03-11 00:54



Sur mon ordinateur, en tapant python prend presque deux secondes pour commencer. Plutôt ennuyeux si vous voulez juste faire quelque chose de simple comme 2 + 2. - ShreevatsaR


Ou Ruby. :)

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

Type irb, puis 2+2.

Ou juste ruby -e 'p 2+2'


3
2018-03-11 07:59