Cálculos matemáticos en la línea de comandos 

Copyright © 2005-2017 LinuxTotal.com.mx
Se concede permiso para copiar, distribuir y/o modificar este documento siempre y cuando se cite al autor y la fuente de linuxtotal.com.mx y según los términos de la GNU Free Documentation License, Versión 1.2 o cualquiera posterior publicada por la Free Software Foundation.

Autor: Sergio González D.  

Hay ocasiones en que necesitas realizar cálculos matemáticos o aritméticos y no estás en el ambiente gráfico para abrir una calculadora como "xcalc", o simplemente es una operación rápida y no quieres salir de la línea de comandos o terminal.

Cálculos con el comando echo

$> x=5
$> y=6
$> echo $[ $x * $y ]
30

O directamente sin variables:

$> echo $[ 34 * (12 + 27) ]
1326

Aunque funcional, el shell bash, que es el que la gran mayoría usamos, no soporta decimales en cálculos directos de este tipo:

$> echo $[ 2/3 ]
0

Si quieres trabajar con precisión, entonces puedes combinar echo con bc, que es una calculadora en modo de shell de alta precisión:

$> echo "2/3" | bc -l
.6666666666666666

Si no usas la opición -l el resultado será sin decimales, con -l se hace uso de librerias matemáticas que permiten precisión. Nota que la sintaxis cambia, la operación a realizar debe de ir entre comillas y puede ser tan compleja como la requieras.

De hecho puedes usar bc interactivamente con tan solo invocarlo, prueba haciendo enormes cálculos y verás que bc te responde todas, para salir con "quit".

#> bc -l
bc 1.06
Copyright 1991-1994, 1997, 1998, 2000 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
72387137874912859483598392485923834823*849583498592348592834952952852.74857485+(47364
736/7342)*3483748374837483+(12121212121212121212121*121212121212121212121212)-1.8
61498917848855172864813824108221843858403546231563537439656606724480\
.24488731486087726180

Nota que el resultado comienza después de haber presionado enter en el renglón que termina en "-1.8", el resultado lo dividió en este caso en dos renglones que lo indica con "\".


LinuxTotal en:

Si encuentras útil la información que proveé LinuxTotal, considera realizar un donativo que estimule a seguir proporcionando contenido de calidad y utilidad. Gracias.

Más artículos de LinuxTotal

En el artículo de LinuxTotal.com.mx sobre permisos se explica lo que es un archivo con permisos SUID o SGID, pueden ser potencial....


El comando find de Linux es extremadamente potente. No hay nada mejor para hacer todo tipo de búsquedas de archivos y carpetas qu....


Hay ocasiones que los usuarios insisten en poner contraseñas muy débiles de 5 o 6 caracteres a lo más. Y el argumento que dan e....


Imagínate que eres un administrador de sistemas Linux que trabaja desde un equipo Windows y usas Putty para conectarte a los serv....


yum es un paquete administrador de software(software package manager). Es una muy útil herramienta para instalar, actualizar y re....


En SQL, 'Alter' es un comando de la categoría DDL (Data Definition Language) y como su nombre lo indica sirve para alterar objeto....


GNU/Linux es increiblemente fácil de configurar, no bases de datos raras, no registros, no directorios regados por aquí y por al....


mysqldump es una utilieria cliente de MySQL que te permite respaldar bases de datos. Aprende por ejemplos como utilizarlo. Puedes....


Hay ocasiones en que se te ofrece hacer cálculos matemáticos o aritméticos y no estás en el ambiente gráfico para abrir una c....


Cron es el nombre del programa que permite a usuarios Linux/Unix ejecutar automáticamente comandos o scripts (grupos de comandos)....



Copyright © LinuxTotal.com.mx 2006-2017
info@linuxtotal.com.mx · linuxtotal.com.mx@gmail.com