Глава 15. Арифметические подстановки | Популярный Linux

Опубликовано Bash в Ср, 23/12/2009 — 20:59


Арифметические подстановки — это мощный инструмент, предназначенный для выполнения арифметических операций в сценариях. Перевод строки в числовое выражение производится с помощью обратных одиночных кавычек, двойных круглых скобок или предложения let.

Вариации

Арифметические подстановки в обратных одиночных
кавычках (часто используются совместно с командой expr)
  1. z=`expr $z + 3`            # Команда ‘expr’ вычисляет значение выражения.
Арифметические подстановки в двойных круглых скобках, и
предложение let

В арифметических подстановках, обратные одиночные кавычки могут быть заменены на двойные круглые скобки — $((...)) и $((...)) или очень удобной конструкцией, с применением предложения let.

  1. z=$(($z+3))
  2. z=$((z+3)                                   #  Тоже верно.
  3.                                             #  Внутри двойных круглых скобок,
  4.                                             #+ переменные разыменовываются
  5.                                             #+ автоматически.
  6.        
  7. # $((EXPRESSION)) — это подстановка арифметического выражения.  #  Не путайте с
  8.                                                                  #+ подстановкой команд.
  9. # Внутри двойных круглых скобок допускается выполнение арифметических
  10. # действий без использования оператора присваивания
  11.   n=0
  12.   echo «n = $n«                             # n = 0
  13.   (( n += 1 ))                              # Инкремент.
  14. # (( $n += 1 )) это неверно!
  15.   echo «n = $n«                             # n = 1
  16. let z=z+3
  17. let «z += 3»  # Кавычки позволяют вставлять пробелы
  18.               #  Оператор ‘let’ вычисляет арифметическое выражение,
  19.               #+ это не подстановка арифметического выражения.

Примеры арифметических подстановок в сценариях:

  1. Пример 12-9

  2. Пример 10-14

  3. Пример 25-1

  4. Пример 25-11

  5. Пример A-19

Запись опубликована в рубрике Без рубрики. Добавьте в закладки постоянную ссылку.