Сценарий Bash — арифметические операторы

Опубликовано: 30 Сентября, 2022

В этой статье мы увидим арифметические операторы в сценарии 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