Cómo utilizar la calculadora BC Calculator en scripts

Cómo utilizar la calculadora BC Calculator en scripts

Cómo utilizar la calculadora BC Calculator en scripts

VALORACIÓN DEL ARTÍCULO:
5/5


El programa Linux bc puede ser utilizado como una práctica calculadora de escritorio o como un lenguaje matemático de scripting. Es tan fácil como llamar al comando bc a través de una terminal.

Además de la utilidad bc, el shell de Bash proporciona algunos otros métodos para realizar operaciones aritméticas.

El programa de ABC también se llama calculadora básica o calculadora de banco.

Sintaxis del comando BC

La sintaxis del comando bc es similar al lenguaje de programación C, y se admiten varios operadores, como suma, resta, más o menos, y más.

Estos son los diferentes interruptores disponibles con el comando bc:

  • -h, –ayuda: Imprime esta utilización y finaliza.
  • -i, –interactivo: Fuerza el modo interactivo.
  • -l, –mathlib: Utiliza las rutinas matemáticas predefinidas.
  • -q, –quiet: No imprime el banner inicial.
  • -s, –estándar: Las construcciones bc no estándar son errores.
  • -w, –warn: Advierte sobre construcciones de chalecos antibalas no estándar.
  • -V, versión: Imprime la información de la versión y las salidas.

Vea este Manual de Comandos de bc para más detalles sobre cómo puede usar la calculadora básica.

Ejemplo de comando BC

La calculadora básica puede ser usada en una terminal simplemente ingresando bc , después de lo cual puede escribir expresiones matemáticas regulares como esta:

 4+3

...para obtener un resultado como este:

7

Al realizar una serie de cálculos repetidamente, tiene sentido utilizar la calculadora bc como parte de un script. La forma más simple de tal guión sería algo así:

 #!/bin/bash 
echo '6.5 / 2.7' | bc

La primera línea es sólo la ruta del ejecutable que ejecuta este script.

La segunda línea contiene dos comandos. El comando echo genera una cadena que contiene la expresión matemática contenida en comillas simples (6.5 dividido por 2.7, en este ejemplo). El operador de la tubería (|) pasa esta cadena como argumento al programa bc. La salida del programa bc se muestra en la línea de comandos.

Para ejecutar este script, abra una ventana de terminal y navegue hasta el directorio donde se encuentra el script. Asumiremos que el archivo de script se llama bc_script.sh. Asegúrese de que el archivo es ejecutable usando el comando chmod:

 chmod 755 bc_script.sh

Entonces entrarías:

 ./bc_script.sh

El resultado sería el siguiente:

2

Para mostrar 3 decimales ya que la respuesta verdadera es 2.407407...., utilice una sentencia de escala dentro de la cadena delimitada por las comillas simples:

 #!/bin/bash 
echo 'scale=3; 6.5/2.7' | bc

Para una mejor legibilidad, la línea con los cálculos puede reescribirse en varias líneas. Para dividir la línea de comandos en varias líneas, puede colocar una barra invertida al final de la línea:

 echo 'scale=3; 
var1 = 6,5 / 2,7;
var1 '
| bc

Para incluir argumentos de línea de comandos en sus cálculos bc, debe cambiar las comillas simples por comillas dobles para que los símbolos de los parámetros de la línea de comandos sean interpretados por el intérprete de comandos Bash:

 echo "scale=3; 
var1 = 6,5 / 2,7;
var2 = 14 * var1;
var2 *= $1;
var2 "
| bc

Al primer argumento de la línea de comandos se accede usando la variable "$1", el segundo argumento usa "$2", etc.

Ahora puede escribir sus propias funciones aritméticas personalizadas en scripts Bash separados y llamarlos desde otros scripts.

Por ejemplo, si script1 contiene:

 #!/bin/bash 
echo "scale=3;
var1 = 6,5 / 2,7;
var2 = 14 * var1;
var2 *= $1;
var2 "
| bc

...y el script2 contiene

 #!/bin/bash 
var0="100"
echo "var0: $var0"
función fun1
{
echo "scale=3;
var1 = 10;
var2 = var1 * $var0;
var2 "
| bc
}
fres=$(fun1)
echo "fres: "$fres
var10=$(./script1 $fres);
echo "var10: "$var10;

...entonces la ejecución de script2 invocará script1 usando una variable $fres calculada en script2 como parámetro.

TAMBIÉN TE INTERESA

materiales-fabricación-aditiva

Más allá de las impresoras 3D: la fabricación aditiva

El elemento clave de la fabricación aditiva siempre ha sido la impresora 3D; la industria se ha construido sobre una base de diferentes tecnologías de impresión, cada una con sus propios puntos fuertes y débiles, capacidades y limitaciones, y aplicaciones más compatibles. En el último informe de IDTechEx ‘3D Printing and Additive Manufacturing 2023-2033: Technology

OPPO-Snapdragon-8-Gen-2

El chip Snapdragon 8 Gen 2 se estrenará en el próximo Find X de OPPO

OPPO ha participado en la Snapdragon Summit 2022 para presentar su colaboración con Qualcomm Technologies en materia en la tecnología Ray Tracing para dispositivos móviles. Las dos empresas, que llevan trabajando conjuntamente desde la primera fase de desarrollo del procesador de nueva generación, harán posible que los usuarios disfruten de la tecnología una ray tracing basada

e-bike-Bike-Ocasion

Black Friday: ¿buen momento para hacernos con una e-bike?

Sin duda, el Black Friday es una oportunidad para comprar muchos productos de tecnología entre los que cabría pensar en una e-bike. Este tipo de bicicletas tienen mucho componente tecnológico y han subido en ventas como la espuma desde principios de la pandemia, allá por marzo de 2020.   En este post nos sumergiremos como

reloj Haylou GST Lite

Haylou GST Lite, un reloj inteligente con un precio y rendimiento imbatibles

De todos los modelos de relojes inteligentes, encontramos uno, el Haylou GST Lite, que sorprende por su alto rendimiento, bajo precio y las muchas funciones que incorpora para nuestro día a día. Comparado con otros dispositivos similares, parece difícil encontrar uno reloj como este desde el punto de vista de su rendimiento y el precio.

problemas-de-conexion-reuniones-virtuales

Los problemas más habituales de las reuniones virtuales

Es un hecho que una de las consecuencias más palpables tras la pandemia en entornos laborales ha sido un aumento de las reuniones virtuales por parte de miembros de un equipo de trabajo. Inicialmente para muchos, este paso hacia la pantalla supuso muchos problemas en cuanto a experiencia o la adopción de tecnologías en su

marketplace

Un servicio de mecanizado CNC operable como un marketplace

La producción automatizada es la gran tendencia de la industria tras la llegada de la digitalización al sector y factores como la crisis sanitaria y los consecuentes cuellos de botella en la cadena de suministro han impulsado este tipo de gestión en las empresas. Contar con un servicio de mecanizado CNC es la forma más