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

portatil gaming HP OMEN 17

Nuevo HP OMEN 17: un portátil gaming grande en todos los sentidos

HP ha lanzado una nueva línea de dispositivos OMEN y HyperX diseñados para ofrecer una experiencia de juego más inmersiva y fluida. Esta nueva gama incluye ordenadores, accesorios, periféricos y software que se adaptan a todo tipo de jugadores, desde profesionales hasta aquellos que están eligiendo su primer PC. Entre las nuevas incorporaciones se encuentran

sonos ace

Sonos Ace, los deseos de los fans de Sonos se hacen realidad

Sonos ha lanzando recientemente a la venta un producto que los usuarios llevaban mucho tiempo esperando. Se trata de sus primeros auriculares, Sonos Ace, con los que la marca reafirma su compromiso con la innovación y la calidad, llevando la experiencia sonora a un nuevo nivel en el mundo de los auriculares. Esta referencia compite

all ia

all ia, el primer buscador de herramientas de inteligencia artificial

Ha llegado el punto en que uno ya se pierde con las herramientas de inteligencia artificial. A lo largo de este último año han surgido infinidad de soluciones que se distribuyen en todos los rincones de internet. Se podría decir que hay una para cada inquietud, sea a nivel personal en el terreno profesional. Pero

login-y-contraseña

El método definitivo para tener una contraseña segura: 9 pasos

Tener una contraseña segura es el primer paso para tener cierta seguridad en nuestra vida digital. Correo electrónico, claves del banco, Amazon, por poner unos ejemplos… son plataformas que estamos acostumbrados a usar casi a diario. Para todos ellos y el resto de plataformas a las que estemos suscritos, la contraseña segura es fundamental para

meta-quest-3

Meta Quest 3: características del nuevo adalid de la realidad virtual

La realidad virtual (VR) ha experimentado un crecimiento exponencial en los últimos años, y Meta Quest 3 se presenta como el pináculo de esta evolución. Como la tercera generación de dispositivos de realidad virtual autónomos desarrollados por Meta, anteriormente conocida como Facebook, el Meta Quest 3 representa una amalgama de tecnología de vanguardia y diseño