¿Puedo hacer matemáticas básicas en Bash?


Respuestas:


21

Simplemente escriba bcen la terminal. Luego escriba todas las cosas de matemáticas después de eso.

bcsignifica " b asic c alculator"

Luego escriba quite ingrese para salir.


2
Solo por claridad sería así: echo 25-5 | aC
Medhat Helmy

Para algunos problemas matemáticos, es posible que deba incluirlo entre comillas, comoecho '0.6 * 12' | bc
Goose

es posible que también necesite agregar escala para que la precisión de coma flotante funcione, es decirecho "scale=2;557/3672" | bc
CpILL

60

Si realmente estamos hablando de Bash, no Bourne Shell (sh) u otros shells, es fácil.

Bash puede calcular expresiones básicas con $ ((expresión)) y aquí hay un ejemplo de cómo te gustaría usarlo:

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

o para uso interactivo, solo

 echo $ ((7 * 3 + 4))

Parece ser una fiesta adecuada, ya que eso funciona. Me estoy metiendo en uno de los grupos de mis universidades
Kurru

44
La $((expression))sintaxis es parte del shestándar POSIX y se deriva de ksh.
geekosaur

66
Bash solo puede hacer aritmética de enteros. No puede hacer aritmética de coma flotante como ksh93 o zsh
fpmurphy

3
Esta debería haber sido la respuesta aceptada.
Andreas Hartmann

10

Hay una serie de utilidades de línea de comandos para hacer cálculos simples:

$ expr 100 \* 4
400

$ echo '100 * 4' | bc
400

por nombrar solo dos de ellos. Tenga cuidado al hacer la multiplicación, ya que si no escapa de su * el shell puede intentar interpretarlo como un comodín.



7

Bueno, su pregunta está respondida, pero considere esto:

La mayoría de las distribuciones de Linux tienen Python preinstalado, entonces ¿por qué no usarlo?

Sólo tipo

python

en la terminal y luego haz toda la aritmética que quieras, como

2+2

Saldrá 4 :)

También puede hacer esto directamente desde la terminal con el -cargumento python.

python -c 'print 2+2'

En mi computadora, la escritura pythontarda casi dos segundos en comenzar. Bastante molesto si solo quieres hacer algo simple como 2 + 2.
ShreevatsaR

use python3 si no desea redondeo flotante. por ejemplo 2 / 30(pitón: 0) (python3: 0.06666666666666667)
hrvoj3e

y si solo tiene python3 instalado, pero desea redondear, use 2//30oint(2/30)
mazunki

3

O a Ruby. :)

Aunque puede que no venga preinstalado, es bastante rápido.

Escribe irb, entonces 2+2.

O solo ruby -e 'p 2+2'


Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.