Unix / Linux - Ejemplo de operadores aritméticos de Shell

Los siguientes operadores aritméticos son compatibles con Bourne Shell.

Asumir variable a tiene 10 y variable b sostiene 20 entonces -

Operador Descripción Ejemplo
+ (Adición) Agrega valores a ambos lados del operador `expr $ a + $ b` dará 30
- (Resta) Resta el operando de la mano derecha del operando de la mano izquierda `expr $ a - $ b` dará -10
* (Multiplicación) Multiplica los valores a ambos lados del operador `expr $ a \ * $ b` dará 200
/ (División) Divide el operando de la izquierda por el operando de la derecha `expr $ b / $ a` dará 2
% (Módulo) Divide el operando de la izquierda por el operando de la derecha y devuelve el resto `expr $ b% $ a` dará 0
= (Asignación) Asigna operando derecho en operando izquierdo a = $ b asignaría el valor de b en a
== (Igualdad) Compara dos números, si ambos son iguales, devuelve verdadero. [$ a == $ b] devolvería falso.
! = (No igualdad) Compara dos números, si ambos son diferentes, devuelve verdadero. [$ a! = $ b] devolvería verdadero.

Es muy importante comprender que todas las expresiones condicionales deben estar entre llaves con espacios alrededor, por ejemplo [ $a == $b ] es correcto mientras que, [$a==$b] Es incorrecto.

Todos los cálculos aritméticos se realizan utilizando números enteros largos.

Ejemplo

Aquí hay un ejemplo que usa todos los operadores aritméticos:

#!/bin/sh

a=10
b=20

val=`expr $a + $b`
echo "a + b : $val"

val=`expr $a - $b`
echo "a - b : $val"

val=`expr $a \* $b`
echo "a * b : $val"

val=`expr $b / $a`
echo "b / a : $val"

val=`expr $b % $a`
echo "b % a : $val"

if [ $a == $b ]
then
   echo "a is equal to b"
fi

if [ $a != $b ]
then
   echo "a is not equal to b"
fi

El script anterior producirá el siguiente resultado:

a + b : 30
a - b : -10
a * b : 200
b / a : 2
b % a : 0
a is not equal to b

Los siguientes puntos deben tenerse en cuenta al utilizar los operadores aritméticos:

  • Debe haber espacios entre los operadores y las expresiones. Por ejemplo, 2 + 2 no es correcto; debe escribirse como 2 + 2.

  • La expresión completa debe incluirse entre ‘ ‘, llamado las comas invertidas.

  • Deberías usar \ sobre el * símbolo de multiplicación.

  • if...then...fi declaración es una declaración de toma de decisiones que se explica en el capítulo siguiente.

operadores-básicos-unix.htm