Книга: Искусство программирования на языке сценариев командной оболочки
Глава 15. Арифметические подстановки
Глава 15. Арифметические подстановки
Арифметические подстановки -- это мощный инструмент, предназначенный для выполнения арифметических операций в сценариях. Перевод строки в числовое выражение производится с помощью обратных одиночных кавычек, двойных круглых скобок или предложения let.
Вариации
Арифметические подстановки в обратных одиночных кавычках (часто используются совместно с командой expr)
z=`expr $z + 3` # Команда 'expr' вычисляет значение выражения.
Арифметические подстановки в двойных круглых скобках, и предложение let
В арифметических подстановках, обратные одиночные кавычки могут быть заменены на двойные круглые скобки $((...)) или очень удобной конструкцией, с применением предложения let.
z=$(($z+3))
# $((EXPRESSION)) -- это подстановка арифметического выражения. # Не путайте с
#+ подстановкой команд.
let z=z+3
let "z += 3" # Кавычки позволяют вставляьб пробелы и специальные операторы.
# Оператор 'let' вычисляет арифметическое выражение,
#+ это не подстановка арифметического выражения.
Все вышеприведенные примеры эквивалентны. Вы можете использовать любую из этих форм записи "по своему вкусу".
Примеры арифметических подстановок в сценариях:
1. Пример 12-6
2. Пример 10-14
3. Пример 25-1
4. Пример 25-6
5. Пример A-19
- Глава 9. К вопросу о переменных
- Глава 10. Циклы и ветвления
- Глава 11. Внутренние команды
- Глава 12. Внешние команды, программы и утилиты
- Глава 13. Команды системного администрирования
- Глава 14. Подстановка команд
- Глава 15. Арифметические подстановки
- Глава 16. Перенаправление ввода/вывода
- Глава 17. Встроенные документы
- Арифметические операторы
- 3.4. Арифметические действия
- Арифметические операции
- Создание подстановки из фиксированного набора значений
- 2.2. Арифметические операции над числами, представленными в различных системах счисления
- А6.5. Арифметические преобразования
- Подстановки, выполняемые командным интерпретатором
- 4.1.2. Арифметические операторы присваивания
- 22. ? эр Квадрат, или Арифметические вычисления с высокой точностью
- 3.1.3. Арифметические операции в JavaScript
- 4.8. Арифметические выражения
- 4.8.2. Унарные арифметические операторы