Las operaciones aritméticas se refieren a operaciones comunes como suma, resta, multiplicación, división, resto, etc. Vale la pena señalar que el shell solo admite cálculos de números enteros, es decir, todas las operaciones que pueden generar decimales descartarán la parte decimal.
prioridad |
operador |
Función descriptiva |
1 |
+ - |
positivo negativo |
2 |
* / % |
multiplicacion, division, resto |
3 |
+ - |
mas menos |
4 |
+= -= … |
Autoincrementable, autodecreciente... |
Ejemplo 1: suma, resta, multiplicación y división
[raíz@localhost ~]# aa=$(( (11+3)*3/2 ))
[raíz@localhost ~]# echo $aa
21
#Aunque la prioridad de la multiplicación y la división es mayor que la de la suma, la prioridad de la operación se puede ajustar entre paréntesis.
Pruebas de variables y sustitución de contenido:
sustitución de variables |
la variable y no está configurada |
la variable y está vacía |
variable y valor establecido |
x=${y-nuevo valor} |
x = nuevo valor |
x está vacío |
x=$y |
x=${y+nuevo valor} |
x está vacío |
x = nuevo valor |
x = nuevo valor |
x=${y=nuevo valor} |
x = nuevo valor y = nuevo valor |
x está vacío El valor de y no cambia |
x=$y El valor de y no cambia |
ejemplo:
Cuando la variable y no tiene un valor establecido, x = nuevo valor
[root@localhost ~]# unset y
[root@localhost ~]# x=${y-new}
[root@localhost ~]# echo $x
new
[root@localhost ~]# echo $y
[root@localhost ~]#
Cuando la variable y está vacía, x está vacía
[root@localhost ~]# y=""
[root@localhost ~]# x=${y-new}
[root@localhost ~]# echo $x
[root@localhost ~]#
Cuando la variable y es aa, x=$y
[root@localhost ~]# y=aa
[root@localhost ~]# x=${y-new}
[root@localhost ~]# echo $xaa