Арифметические операции относятся к обычным операциям, таким как сложение, вычитание, умножение, деление, остаток и т. д. Стоит отметить, что оболочка поддерживает только целочисленные вычисления, то есть все операции, которые могут генерировать десятичные дроби, будут отбрасывать десятичную часть.
приоритет |
оператор |
Описание функции |
1 |
+ - |
позитивный негативный |
2 |
* / % |
умножение, деление, остаток |
3 |
+ - |
плюс, минус |
4 |
+= -= … |
Самовозрастающий, самоубывающий… |
Пример 1: сложение, вычитание, умножение и деление
[root@localhost ~]# aa=$(( (11+3)*3/2 ))
[root@localhost ~]# эхо $aa
21
#Хотя приоритет умножения и деления выше, чем у сложения, приоритет операции можно настроить с помощью скобок.
Тестирование переменных и замена контента:
замена переменной |
переменная у не задана |
переменная у пуста |
переменная y заданное значение |
x=${y-новое значение} |
х = новое значение |
х пуст |
х=$у |
х=${у+новое значение} |
х пуст |
х = новое значение |
х = новое значение |
х=${у=новое значение} |
х = новое значение у = новое значение |
х пуст Значение у не меняется |
х=$у Значение у не меняется |
пример:
Когда переменная y не имеет установленного значения, x = новое значение
[root@localhost ~]# unset y
[root@localhost ~]# x=${y-new}
[root@localhost ~]# echo $x
new
[root@localhost ~]# echo $y
[root@localhost ~]#
Когда переменная y пуста, x пуст
[root@localhost ~]# y=""
[root@localhost ~]# x=${y-new}
[root@localhost ~]# echo $x
[root@localhost ~]#
Когда переменная y равна aa, x=$y
[root@localhost ~]# y=aa
[root@localhost ~]# x=${y-new}
[root@localhost ~]# echo $xaa