Арифметические подстановки -- это
мощный инструмент, предназначенный для выполнения
арифметических операций в сценариях. Перевод строки в числовое
выражение производится с помощью обратных одиночных кавычек, двойных круглых скобок или предложения
let.
Вариации
Арифметические подстановки в обратных одиночных
кавычках (часто используются совместно с командой expr)
z=`expr $z + 3` # Команда 'expr' вычисляет значение выражения.
Арифметические подстановки в двойных круглых скобках, и
предложение let
В арифметических подстановках, обратные одиночные
кавычки могут быть заменены на двойные круглые скобки --
$((...)) и
$((...)) или
очень удобной конструкцией, с применением предложения
let.
z=$(($z+3))
z=$((z+3) # Тоже верно.
# Внутри двойных круглых скобок,
#+ переменные разыменовываются
#+ автоматически.
# $((EXPRESSION)) -- это подстановка арифметического выражения. # Не путайте с
#+ подстановкой команд.
# Внутри двойных круглых скобок допускается выполнение арифметических
# действий без использования оператора присваивания
n=0
echo "n = $n" # n = 0
(( n += 1 )) # Инкремент.
# (( $n += 1 )) это неверно!
echo "n = $n" # n = 1
let z=z+3
let "z += 3" # Кавычки позволяют вставлять пробелы
# Оператор 'let' вычисляет арифметическое выражение,
#+ это не подстановка арифметического выражения.