Ejemplo – 1: uso del comando ‘expr’
El comando más antiguo para realizar operaciones aritméticas en bash es ‘ expr ‘. Este comando puede funcionar solo con valores enteros e imprime la salida directamente en la terminal. Tienes que usar un espacio con cada operando cuando quieras usar el comando ‘ expr’ para hacer cualquier operación matemática. Cree un archivo bash y agregue los diversos comandos ‘expr’ para verificar cómo funciona el comando ‘expr’ .
# Works as string
expr ’10 + 30′
# Works as string
expr 10+30
#Perform the addition
expr 10 + 30
#Find out the remainder value
expr 30 % 9
#Using expr with backtick
myVal1=`expr 30 / 10`
echo $myVal1
#Using expr within command substitute
myVal2=$( expr 30 – 10 )
echo $myVal2
Ejecute el archivo arith1.sh.
Producción:
El resultado muestra que los operadores aritméticos funcionaron solo cuando se usa espacio con cada valor numérico y no se usa una sola cita con el comando expr . También puede asignar la salida del comando expr a una variable e imprimir la variable más tarde usando comillas invertidas o sustituto de comando. 30/10 se calcula usando comillas invertidas y 30-10 se calcula usando comando sustituto .
Ejemplo – 2: uso del comando ‘dejar’
‘let’ es otro comando incorporado para realizar operaciones aritméticas en bash. El comando ‘let’ no puede imprimir la salida al terminal sin almacenar el valor en una variable. Pero el comando ‘let’ se puede usar para eliminar las otras limitaciones del comando ‘expr’ . Cree un archivo bash y agregue el siguiente código para ver cómo funciona el comando ‘let’ .
# Multiplying 9 by 8
let val1=9*3
echo $val1
# Dividing 8 by 3
let “val2= 8 / 3”
echo $val2
# Subtracting 3 from 9
let val3=9–3
echo $val3
# Applying increment
let val4=7
let val4++
echo $val4
# Using argument value in arithmetic operation
let “val5=50+$1”
echo $val5
Ejecute el archivo arith2.sh.
Producción:
El resultado muestra que el comando ‘let’ es más flexible que el comando ‘ expr ‘. Puede evaluar cualquier expresión aritmética con o sin comillas. Pero no puedes usar el espacio dentro de ninguna expresión matemática. Puede utilizar el operador de incremento o decremento en el comando ‘dejar’ . En la última parte del ejemplo se muestra cómo se puede realizar la operación aritmética con valores de argumento usando el comando ‘let’ .
Ejemplo – 3: uso de corchetes dobles
Puede realizar cualquier operación aritmética en bash sin usar ningún comando. Aquí, los corchetes dobles se utilizan para hacer las tareas aritméticas y el uso de corchetes dobles para ejecutar expresiones matemáticas es más flexible que comandos como ‘expr’ o ‘let’ . Cree un archivo bash y agregue el siguiente código para probar las operaciones aritméticas usando corchetes dobles.
# Calculate the mathematical expression
val1=$((10*5+15))
echo $val1
# Using post or pre increment/decrement operator
((val1++))
echo $val1
val2=41
((–val2))
echo $val2
# Using shorthand operator
(( val2 += 60 ))
echo $val2
# Dividing 40 by 6
(( val3= 40/6 ))
echo $val3
Ejecute el archivo arith3.sh.
Producción:
El resultado muestra que los corchetes dobles pueden ejecutar cualquier expresión matemática con espacio o sin espacio y también puede usar operadores de incremento / decremento y taquigrafía en expresiones de corchetes dobles.
Ejemplo – 4: uso del comando ‘bc’ para números flotantes o dobles
Una de las principales limitaciones de las formas anteriores de realizar operaciones aritméticas en bash es que ‘ expr ‘ o ‘let’ o la expresión de corchetes dobles no pueden producir números de punto flotante o dobles. La salida de las operaciones de división de los ejemplos anteriores son números enteros. El comando ‘bc’ se puede usar para resolver este problema y funciona como una calculadora básica para el sistema operativo Linux. Cree un archivo bash y agregue el siguiente código para verificar el uso del comando ‘bc’ en operaciones aritméticas.
# Dividing 55 by 3 with bc only
echo “55/3” | bc
# Dividing 55 by 3 with bc and -l option
echo “55/3” | bc -l
# Dividing 55 by 3 with bc and scale value
echo “scale=2 55/3” | bc
Ejecute el archivo arith3.sh.
Producción:
La salida muestra que el comando ‘ bc ‘ simple produce un valor entero como otras opciones cuando se ejecuta cualquier expresión de división. El comando ‘ bc -l’ genera una salida exacta de la división y puede limitar la parte fraccionaria usando el valor de escala . Aquí, se usa scale= 2 . Entonces, la salida muestra 2 dígitos después del punto decimal.
Puede aplicar cualquiera de las formas mencionadas para realizar operaciones aritméticas en bash según sus requisitos.
¡Para más información mira el video !