Cómo agregar cálculos a un guión de bash

Cómo agregar cálculos a un guión de bash

Cómo agregar cálculos a un guión de bash

VALORACIÓN DEL ARTÍCULO:
5/5


Aunque Bash es un lenguaje de scripting, tiene casi todas las capacidades de un lenguaje de programación de propósito general. Esto incluye funciones aritméticas. Hay varias opciones de sintaxis que puedes usar para evocar la evaluación aritmética de una expresión. Quizás el más legible es el comando let. Por ejemplo

let "m = 4 * 1024"

se calculará 4 veces 1024 y asignará el resultado a la variable "m".

Puede imprimir el resultado añadiendo una sentencia echo:

let "m = 4 * 1024"
echo $m

Puede probar esto desde la línea de comandos introduciendo el siguiente código:

let "m = 4 * 1024"; echo $m

También puede crear un archivo que contenga los comandos Bash, en cuyo caso deberá añadir una línea en la parte superior del archivo que especifique el programa que debe ejecutar el código. Por ejemplo:

#!/bin/bash
let "m = 4 * 1024"
echo $m

asumiendo que el ejecutable Bash se encuentra en /bin/bash. También necesita establecer los permisos de su archivo de script para que sea ejecutable. Asumiendo que el nombre del archivo de script es script1.sh, puede establecer los permisos para que el archivo sea ejecutable con el comando:

chmod 777 script1.sh

Después de eso, puede ejecutarlo con el comando:

./script1.sh

Las operaciones aritméticas disponibles son similares a las de los lenguajes de programación estándar como Java y C. Además de la multiplicación, como se ilustra arriba, se utiliza la suma:

deje "m = a + 7"

o sustracción:

deje "m = a - 7"

o división:

deje "m = a / 2"

o modulo (el resto después de una división entera):

dejar "m = a % 100"

Cuando se aplica una operación a la misma variable a la que se asigna el resultado, se pueden utilizar los operadores de asignación abreviada aritmética estándar, también denominados operadores de asignación compuesta. Por ejemplo, por adición, tenemos:

dejar "m += 15"

que equivale a "m = m + 15". Para la sustracción que tenemos:

dejar "m -= 3"

que equivale a "m = m - 3". Para la división que tenemos:

deje "m /= 5"

que equivale a "m = m / 5". Y para modulo, tenemos:

let "m %= 10"

que equivale a "m = m % 10".

Además, puede utilizar los operadores increment y decrement:

deje "m++"

es equivalente a "m = m + 1". Y

deja "m--"

es equivalente a "m = m - 1".

Y luego está el operador ternario "signo de interrogación-colon", que devuelve uno de dos valores dependiendo de si la condición especificada es verdadera o falsa. Por ejemplo

que "k = (m < 9) ? 0 : 1"

La parte derecha de esta sentencia de asignación se evalúa a "0" si la variable "m" es inferior a 9. En caso contrario, se evalúa a 1. Esto significa que a la variable "k" se le asigna "0" si "m" es menor que 9 y "1" en caso contrario.

La forma general del operador de signo de interrogación-colon es:

condición ? value-if-true : value-if-false

Aritmética en coma flotante en Bash

El operador let sólo funciona para la aritmética de números enteros. Para la aritmética en coma flotante puede usar, por ejemplo, la calculadora GNU bc como se ilustra en este ejemplo:

echo "32.0 + 1.4" | bc 

El operador "pipe" "|" pasa la expresión aritmética "32.0 + 1.4" a la calculadora bc, que devuelve el número real. El comando echo imprime el resultado en la salida estándar.

Sintaxis alternativa para Aritmética

Los Backticks (comillas al reverso) pueden ser usados para evaluar una expresión aritmética como en este ejemplo:

echo `expr $m + 18`

Esto sumará 18 al valor de la variable "m" y luego imprimirá el resultado.

Para asignar el valor de cálculo a una variable se puede utilizar el signo igual sin espacios a su alrededor:

m=`expr $m + 18`

Otra forma de evaluar las expresiones aritméticas es usar paréntesis dobles. Por ejemplo:

(( m *= 4 ))

Esto cuadruplicará el valor de la variable "m".

Además de la evaluación aritmética, el intérprete de comandos Bash proporciona otras construcciones de programación, tales como bucles, bucles while-loops, condicionales y funciones y subrutinas.

TAMBIÉN TE INTERESA

estafada-en-una-app

Así te pueden estafar en Vinted: la explicación paso a paso

Vinted es una de las plataformas de mayor éxito en el último año. Con la subida de precios, muchos han apostado por la fórmula de la segunda mano para comprar artículos. Y como la moda es uno de los sectores más dinámicos para el consumo… blanco y en botella. Vinted tiene actualmente uno seis millones

simplr

El consumo de productos de tecnología está cambiando gracias a plataformas como Simplr

Simplr y otras plataformas parecidas están impulsado un cambio de consumo en los productos tecnológicos. La clave de estas webs es que los productos se “alquilan” bajo un pago por uso o suscripción. Mediante esta fórmula, estas compañías aseguran que los usuarios pueden ahorrarse mucho dinero, aunque también hay otras perspectivas destacables. El pago por

redactor de contenido

¿Corre peligro un redactor de contenido con la inteligencia artificial?

Un redactor de contenido es un tipo de profesional que ha existido siempre. Desde la llegada de los medios de comunicación clásicos hasta la consolidación de las plataformas digitales de ocio e información con la llegada de streamers, el puesto también llamado de content editor ha sido relevante se mire por donde se mire. Esa

Amazon Warehouse

¿Buscas oportunidades? Déjate caer por Amazon Warehouse…

Si no conoces Amazon Warehouse es porque nunca has buscado bien en las entrañas de este gigante del comercio electrónico. En este departamento del marketpalce encontraremos chollos, gangas y productos rebajadas al ser reacondicionados o de segunda mano. A lo largo de estas líneas te mostraremos todos los secretos de este rincón de Amazon que