Bash Script – Operadores Aritméticos

En este artículo, veremos operadores aritméticos en bash script. Los operadores aritméticos se utilizan para realizar operaciones aritméticas.

El script Bash admite 11 operadores aritméticos. Todos los operadores con sus usos se dan a continuación:

Operador Nombre Usar Ejemplo
+ Suma Agrega dos operandos resultado= a+b
Sustracción Resta el segundo operando del primero resultado = ab
* Multiplicación Multiplicar dos operandos resultado = a*b
/ División Devuelve el cociente después de bucear el primer operando de los segundos operandos

16/3

resultado = 5

% Módulo Devuelve el resto después de dividir el primer operando del segundo operando

16/ 3

resultado = 1

+= Incremento por constante Valor de incremento del primer operando con valor constante dado

x = 13

x+=3

resultado = 16

-= Decremento por constante Decrementar el valor del primer operando con un valor constante dado

x = 13

x = 3

resultado = 10

*= Multiplicar por constante Multiplica el operando dado por el valor constante

x = 10

x*=3

resultado = 30

/= Dividir por constante Divide el operando con el valor constante dado y devuelve el cociente

X = 31

x/=3

resultado = 10

%= Resto al dividir con constante Divide el operando con el valor constante dado y devuelve el resto

x = 31

x%=3

resultado = 1

** exponenciación  El resultado es el segundo operando elevado a la potencia del primer operando.

3**2

resultado = 9

Veamos los ejemplos de los usos de los operadores aritméticos:

Suma

Código:

Sum=$((10+3))  
echo "Sum = $Sum"  

Producción:

Sustracción

Código:

Difference=$((10-3))  
echo "Difference = $Difference"  

Producción:

Multiplicación

Código:

Product=$((10*3))  
echo "Product = $Product"  

Producción:

División

Código:

Division=$((10/3))  
echo "Division = $Division"  

Producción:

Módulo

Código:

Modulo=$((10%3))  
echo "Modulo = $Modulo"  

Producción:

exponenciación

Código:

Exponent=$((10**2))  
echo "Exponent = $Exponent"  

Producción:

Ejemplo para mostrar el uso de todos los operadores en un solo código

Código:

x=10
y=20
echo "x=10, y=5"  
echo "Addition of x and y"  
echo $(( $x + $y ))  
echo "Subtraction of x and y"  
echo $(( $x - $y ))  
echo "Multiplication of x and y"  
echo $(( $x * $y ))  
echo "Division of x by y"  
echo $(( $x / $y ))  
echo "Exponentiation of x,y"  
echo $(( $x ** $y ))  
echo "Modular Division of x,y"  
echo $(( $x % $y ))  
echo "Incrementing x by 10, then x= "  
(( x += 10 ))    
echo $x  
echo "Decrementing x by 15, then x= "  
(( x -= 15 ))  
echo $x  
echo "Multiply of x by 2, then x="  
(( x *= 2 ))  
echo $x  
echo "Dividing x by 5, x= "  
(( x /= 5 ))  
echo $x  
echo "Remainder of Dividing x by 5, x="  
(( x %= 5 ))  
echo $x  

Producción:

Diferentes formas de calcular operaciones aritméticas en Bash

Hay algunas de las diferentes formas de realizar operaciones aritméticas.

1. Doble paréntesis

Esto podría usarse para la expansión aritmética. Veamos un ejemplo para ver el uso de comillas dobles.

Código:

#!/bin/bash
 
first=10
second=3
 
echo $(( first + second ))   # addition
echo $(( $first + $second )) # this is also valid
 
echo $(( first - second ))   # subtraction
echo $(( $first - $second )) # this is also valid
 

 Producción:

13
13
7
7

2. Usando el comando let

El comando let se utiliza para realizar operaciones aritméticas. 

Ejemplo

código:

#!/bin/bash
 
x=10
y=3
 
let "z = $(( x * y ))"  # multiplication
echo $z
let z=$((x*y))
echo $z
 
let "z = $(( x / y ))"  # division
echo $z
let z=$((x/y))
echo $z

Producción:

30
30
3
3

3. comando expr con acentos graves

La expansión aritmética se puede hacer usando backticks y expr.

Código:

a=10
b=3

# there must be spaces before/after the operator

sum=`expr $a + $b`
echo $sum

sub=`expr $a - $b`
echo $sub

mul=`expr $a \* $b`
echo $mul

div=`expr $a / $b`
echo $div

Producción:

13
7
30
3

Publicación traducida automáticamente

Artículo escrito por romy421kumari y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *