Сценарий Bash — арифметические операторы
В этой статье мы увидим арифметические операторы в сценарии bash. Арифметические операторы используются для выполнения арифметических операций.
Скрипт Bash поддерживает 11 арифметических операторов. Все операторы с их использованием приведены ниже:
| Оператор | Имя | Использовать | Пример |
|---|---|---|---|
| + | Добавление | Добавляет два операнда | результат= а+б |
| – | вычитание | Вычитает второй операнд из первого | результат = аб |
| * | Умножение | Умножить два операнда | результат= а*б |
| / | Разделение | Возвращает частное после погружения первого операнда из второго операнда | 16/3 результат = 5 |
| % | Модуль | Возвращает остаток после деления первого операнда от второго операнда | 16/ 3 результат = 1 |
| += | Увеличение на константу | Увеличение значения первого операнда с заданным постоянным значением | х= 13 х+=3 результат = 16 |
| знак равно | Уменьшение на константу | Уменьшить значение первого операнда с заданным постоянным значением | х= 13 х -= 3 результат = 10 |
| знак равно | Умножить на константу | Умножить заданный операнд на постоянное значение | х = 10 х*=3 результат = 30 |
| знак равно | Разделить на константу | Разделите операнд с заданным постоянным значением и верните частное | х = 31 х/=3 результат = 10 |
| знак равно | Остаток от деления на константу | Разделить операнд с заданным постоянным значением и вернуть остаток | х = 31 х%=3 результат = 1 |
| ** | Возведение в степень | Результатом является второй операнд, возведенный в степень первого операнда. | 3**2 результат = 9 |
Давайте посмотрим на примеры использования арифметических операторов:
Добавление
Код:
Sum=$((10+3)) echo "Sum = $Sum"
Выход:

вычитание
Код:
Difference=$((10-3)) echo "Difference = $Difference"
Выход:

Умножение
Код:
Product=$((10*3)) echo "Product = $Product"
Выход:

Разделение
Код:
Division=$((10/3)) echo "Division = $Division"
Выход:

Модуль
Код:
Modulo=$((10%3)) echo "Modulo = $Modulo"
Выход:

Возведение в степень
Код:
Exponent=$((10**2)) echo "Exponent = $Exponent"
Выход:

Пример, показывающий использование всех операторов в одном коде
Код:
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
Выход:

Различные способы вычисления арифметических операций в Bash
Существуют различные способы выполнения арифметических операций.
1. Двойная скобка
Это можно использовать для арифметического расширения. Давайте посмотрим на пример, чтобы увидеть использование двойных кавычек.
Код:
#!/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
Выход:
13 13 7 7
2. Использование команды let
Команда let используется для выполнения арифметических операций.
Пример
код:
#!/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
Выход:
30 30 3 3
3. команда expr с обратными кавычками
Арифметическое расширение может быть выполнено с помощью обратных кавычек и expr.
Код:
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
Выход:
13 7 30 3