Realización de operaciones aritméticas básicas
Las operaciones aritméticas simples como suma, resta, división y multiplicación se pueden realizar utilizando el comando 'BC'. La sintaxis para aplicar operadores binarios simples en BASH usando el comando 'BC' es la siguiente.
ubuntu@ubuntu: ~ $ echo ""| antes de Cristo
En esta sección, utilizaremos el comando 'BC' para realizar operaciones aritméticas simples.
ubuntu@ubuntu: ~ $ num1 = 2.35322 5
ubuntu@ubuntu: ~ $ num2 = 1.223353
ubuntu@ubuntu: ~ $ echo "$ num1+$ num2" | antes de Cristo
3.576578
ubuntu@ubuntu: ~ $ echo "$ num1- $ num2" | antes de Cristo
1.129872
ubuntu@ubuntu: ~ $ echo "$ num1*$ num2" | antes de Cristo
2.878824
ubuntu@ubuntu: ~ $ echo "$ num1/$ num2" | antes de Cristo
1
En el ejemplo anterior, mientras realizamos la división, obtuvimos el resultado sin puntos decimales. Para obtener el resultado hasta 'n' decimal, tenemos que establecer el valor de escala en 'n' como se muestra en el siguiente ejemplo.
ubuntu@ubuntu: ~ $ echo “escala = 10; $ num1/$ num2 "| antes de Cristo
1.9235862420
Alternativamente, podemos usar el indicador '-l' y el comando 'BC' para obtener salida decimal.
ubuntu@ubuntu: ~ $ echo "$ num1/$ num2" | BC -L
1.92358624207403750184
El comando 'BC' también se puede utilizar para realizar la división del módulo y calcular el poder de un número en los scripts bash.
ubuntu@ubuntu: ~ $ echo "10%4" | antes de Cristo
2
ubuntu@ubuntu: ~ $ echo "10^2" | antes de Cristo
100
Realización de operaciones aritméticas avanzadas
Hasta ahora, hemos utilizado el comando 'BC' para realizar algunas operaciones aritméticas básicas como suma, resta, multiplicación, etc., ahora; En esta sección, utilizaremos el comando 'BC' para realizar algunas operaciones aritméticas avanzadas. Discutiremos cómo podemos usar operadores de comparación, operadores lógicos o booleanos, funciones matemáticas avanzadas y declaraciones condicionales en BASH utilizando el comando 'BC'.
Operadores de comparación
Los operadores de comparación toman dos números, los comparan y luego regresan 1 o 0 dependiendo de la comparación. Si la comparación es verdadera, entonces el resultado es Verdadero (1); De lo contrario, es Falso (0). Los siguientes son algunos ejemplos de operadores de comparación.
Los siguientes son algunos ejemplos de operadores de comparación utilizados junto con el comando 'BC'.
ubuntu@ubuntu: ~ $ echo "5 == 5" | antes de Cristo
1
ubuntu@ubuntu: ~ $ echo "4!= 4 "| antes de Cristo
0
ubuntu@ubuntu: ~ $ echo "2> 5" | antes de Cristo
0
ubuntu@ubuntu: ~ $ echo "4<=4” | bc
1
Operadores booleanos
Los operadores booleanos o lógicos se utilizan en declaraciones condicionales para realizar algunas decisiones lógicas. Los siguientes son los tres operadores lógicos básicos.
Los siguientes ejemplos ilustran cómo se utilizan los operadores lógicos con el comando 'BC'.
ubuntu@ubuntu: ~ $ echo “-5 && 0” | antes de Cristo
0
ubuntu@ubuntu: ~ $ echo "-1 || 0 ”| antes de Cristo
1
ubuntu@ubuntu: ~ $ echo "! 0 ”| antes de Cristo
1
Declaraciones condicionales
Las declaraciones condicionales se utilizan para ejecutar comandos específicos dependiendo de la condición aplicada. La condición aplicada en la declaración condicional implica operadores lógicos y de comparación. El siguiente es el ejemplo de declaraciones condicionales con el comando 'BC'.
ubuntu@ubuntu: ~ $ a = 15
ubuntu@ubuntu: ~ $ b = 20
Ubuntu@ubuntu: ~ $ echo 'if (a> b) imprimir "a is mayor" más imprima "b es mayor"' | BC -L
B es mayor
En el ejemplo anterior, la declaración verifica si A es mayor que B o no. Si A es mayor que B, imprimirá "A es mayor"; De lo contrario, imprimirá “B es mayor."Podemos aplicar cualquier condición utilizando operadores booleanos y de comparación en el ejemplo anterior.
Funciones matemáticas
El comando 'BC' también proporciona algunas funciones matemáticas incorporadas que podemos usar sin definirlas. Las siguientes son algunas funciones esenciales utilizadas con el comando 'BC' en Bash.
Estas funciones se pueden usar con el comando 'BC', como se muestra en los siguientes ejemplos.
ubuntu@ubuntu: ~ $ pi = 3.1415
ubuntu@ubuntu: ~ $ echo "s ($ pi/2)" | BC -L
1
ubuntu@ubuntu: ~ $ echo "c ($ pi/2)" | BC -L
0
ubuntu@ubuntu: ~ $ echo "a (1)" | BC -L
0.7854
La raíz cuadrada de un número se puede calcular en BASH utilizando el comando 'BC', como se muestra en la siguiente figura.
ubuntu@ubuntu: ~ $ echo “sqrt (4)” | BC -L
2
Mientras intenta calcular la raíz cuadrada de un número negativo, el shell lanzará un error de tiempo de ejecución.
ubuntu@ubuntu: ~ $ echo “sqrt (-2)” | BC -L
Error de tiempo de ejecución (func = (main), ADR = 4): raíz cuadrada de un número negativo
El logaritmo natural de un número se puede calcular en BASH utilizando el comando 'BC' de la siguiente manera.
ubuntu@ubuntu: ~ $ echo "l (2)" | BC -L
.69314718055994530941
Conclusión
Al escribir scripts de automatización en Bash, a veces necesitamos funciones matemáticas avanzadas y operadores lógicos para ejecutar comandos. El comando 'BC' proporciona muchas funciones y operadores matemáticos avanzados para realizar cálculos aritméticos de alto nivel. Este tutorial discutido utilizando el comando 'BC' para realizar operaciones aritméticas avanzadas en Bash.