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.