Хотя Bash является языком сценариев, он обладает практически всеми возможностями языка программирования общего назначения. Это включает в себя арифметические функции. Есть несколько вариантов синтаксиса , которые вы можете использовать, чтобы вызвать арифметическую оценку выражения. Возможно, наиболее читаемым является команда let . Например:
пусть m = (4 * 1024)
вычислит 4 раза 1024 и присвоит результат переменной «m».
Вы можете распечатать результат, добавив оператор echo :
эхо $ м
Вы также можете создать файл, содержащий команды Bash, и в этом случае вы должны добавить строку вверху файла, которая указывает программу, которая должна выполнять код. Например:
#! / Бен / Баш
при условии, что исполняемый файл Bash находится в / bin / bash . Вам также необходимо установить права доступа к файлу скрипта, чтобы он был исполняемым. Предполагая, что имя файла сценария — script1.sh , вы можете установить права на выполнение файла с помощью команды:
chmod + x script1.sh
После этого вы можете выполнить его с помощью команды :
./script1.sh
Доступные арифметические операции аналогичны операциям в стандартных языках программирования, таких как Java и C. Помимо умножения, как показано выше, вы используете сложение:
пусть m = (5 + 5)
или вычитание:
пусть m = (10 - 2)
или деление:
пусть m = (10/2)
или по модулю (остаток после целочисленного деления):
пусть m = (11/2)
Когда операция применяется к той же переменной, которой назначен результат, вы можете использовать стандартные арифметические операторы сокращенного назначения, также называемые составными операторами присваивания. Например, для дополнения имеем:
((m + = 15))
что эквивалентно «m = m + 15». Для вычитания имеем:
((м- = 3))
что эквивалентно «m = m — 3». Для деления имеем:
((м / = 5))
что эквивалентно «m = m / 5». А по модулю имеем:
((m% = 10))
что эквивалентно «m = m% 10».
Кроме того, вы можете использовать операторы увеличения и уменьшения :
((м ++))
эквивалентно «m = m + 1». И
((м--))
эквивалентно «m = m — 1».
Арифметика с плавающей точкой в Bash
Оператор let работает только для целочисленной арифметики. Для арифметики с плавающей запятой вы можете использовать, например, калькулятор GNU bc, как показано в этом примере:
эхо 32,0 + 1,4 | До нашей эры
«Трубный» оператор «|» передает арифметическое выражение «32.0 + 1.4» в калькулятор bc, который возвращает действительное число. Команда echo выводит результат на стандартный вывод.
Альтернативный синтаксис для арифметики
Обратные кавычки (обратные одинарные кавычки) можно использовать для вычисления арифметического выражения, как в этом примере:
echo `expr $ m + 18`
Это добавит 18 к значению переменной «m», а затем распечатает результат.
Чтобы присвоить вычисляемое значение переменной, вы можете использовать знак равенства без пробелов вокруг нее:
m = `expr $ m + 18`
Другой способ оценить арифметические выражения — использовать двойные скобки. Например:
((м * = 4))
Это увеличит в четыре раза значение переменной «m».
Кроме арифметической оценки, оболочки Bash предоставляет другие программные конструкции, такие , как для-петли , в то время как-петли , условные и функции и подпрограммы .