¿Requieres de una instalación o configuración de Linux o sus servicios?
¿Un desarrollo WEB empresarial a la medida?
¿Un curso o capacitación a la medida?
Revisa el sitio de SERVICIOS de LinuxTotal


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 "\".



¿Requieres de una instalación o configuración de Linux o sus servicios?
¿Un desarrollo WEB empresarial a la medida?
¿Un curso o capacitación a la medida?
Revisa el sitio de SERVICIOS de LinuxTotal

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.


Dona a través de paypal::


O a través de bitcoins:


14TNQv5wM3xkSv65gHGQ6s6f8yTZuFTohE
Más artículos de LinuxTotal

Eventualmente, mientras más se aprende a usar la línea de comandos y a realizar shell scripts, en alguno de estos scripts necesi....


vi es el venerable y confiable editor de texto que encontrarás en TODAS las distintas versiones, distribucciones, sabores de Linu....


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


El directorio /proc es una bestia extraña. Realmente no existe, sin embargo puedes explorarlo. Sus archivos de tamaño 0 no son n....


En este archivo de configuración se indica el modo en que los mensajes del sistema son bitacorizados a través de la utileria sys....


Si acostumbras trabajar en la línea de comandos de Linux, muy posiblemente uses el shell bash (Bourne Again Shell, derivado del b....


awk o la versión GNU gawk es más que un simple comando de procesamiento de patrones, es todo un lenguaje de análisis semántico....


De acuerdo a la definición en wikipedia un rootkit es una herramienta, o un grupo de ellas que tiene como finalidad esconderse a ....


En ambientes donde varios usuarios usan uno o más sistemas GNU/Linux, es necesario otorgar distintos permisos o privilegios para ....


Uno de mis clientes tiene múltiples aplicaciones basadas en VisualBasic 6 y como base de datos Access, que se ejecutan directamen....



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