¿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 matemticos en la lnea de comandos 

Copyright © 2005-2024 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

Lo primero que debes hacer una vez que instalas un servidor de base de datos MySQL (casi todas las distros actuales lo instalan po....


Muchos validadores de direcciones de correo electrónico devolverán errores cuando se enfrenten con una inusual pero válida dire....


rsync es probablemente la herramienta de copiado y sincronización de archivos más potente que existe en el mundo de Linux/Unix. ....


Cuando tu creas un documento de texto en MSDOS/Windows (como por ejemplo en notepad.exe), Windows añade al final de cada línea u....


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 tutorial sobre listas de control de acceso en squid, aprenderás lo básico de como configurarlas y establecerlas en la co....


Hay múltiples maneras de cometer errores (algunos muy graves y desastrosos) cuando se administran servidores GNU/Linux, conócelo....


Observa la imagen siguiente, que corresponde a uno de los sitios de descargas de MySQL y notarás que todos los archivos que puede....


Linux ofrece multitud de servicios o servidores, estos pueden iniciar o arrancar junto con la carga del sistema o pueden después ....


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



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