Как добавить вычисления в скрипт Bash

Хотя Bash является языком сценариев, он обладает практически всеми возможностями языка программирования общего назначения. Это включает в себя арифметические функции. Есть несколько вариантов синтаксиса, которые вы можете использовать, чтобы вызвать арифметическую оценку выражения. Возможно, наиболее читаемым является команда let. Например

вычислит 4 раза 1024 и присвоит результат переменной «m».

Вы можете распечатать результат, добавив оператор echo:

Вы можете проверить это из командной строки, введя следующий код:

Вы также можете создать файл, содержащий команды Bash, и в этом случае вы должны добавить строку вверху файла, которая определяет программу, которая должна выполнять код. Например:

при условии, что исполняемый файл Bash находится в / bin / bash. Вам также необходимо установить права доступа к файлу скрипта, чтобы он был исполняемым. Предполагая, что имя файла сценария — script1.sh, вы можете установить права на выполнение файла с помощью команды:

После этого вы можете выполнить его с помощью команды:

Доступные арифметические операции аналогичны операциям в стандартных языках программирования, таких как Java и C. Помимо умножения, как показано выше, вы используете сложение:

или вычитание:

или деление:

или по модулю (остаток после целочисленного деления):

Когда операция применяется к той же переменной, которой назначен результат, вы можете использовать стандартные арифметические операторы сокращенного назначения, также называемые составными операторами присваивания. Например, для дополнения имеем:

что эквивалентно «m = m + 15». Для вычитания имеем:

что эквивалентно «m = m — 3». Для деления имеем:

что эквивалентно «m = m / 5». А по модулю имеем:

что эквивалентно «m = m% 10».

Кроме того, вы можете использовать операторы увеличения и уменьшения:

эквивалентно «m = m + 1». А также

эквивалентно «m = m — 1».

И затем есть троичный оператор «вопросительный знак-двоеточие», который возвращает одно из двух значений в зависимости от того, является ли указанное условие истинным или ложным. Например

Правая часть этого оператора присваивания оценивается в «0», если переменная «m» меньше 9. В противном случае она оценивается в 1. Это означает, что переменной «k» присваивается «0», если «m» меньше чем 9 и «1» в противном случае.

Общая форма оператора вопросительного знака-двоеточия:

Арифметика с плавающей точкой в ​​Bash

Оператор let работает только для целочисленной арифметики. Для арифметики с плавающей запятой вы можете использовать, например, калькулятор GNU bc, как показано в этом примере:

«Трубный» оператор «|» передает арифметическое выражение «32.0 + 1.4» в калькулятор bc, который возвращает действительное число. Команда echo выводит результат на стандартный вывод.

Альтернативный синтаксис для арифметики

Обратные кавычки (обратные одинарные кавычки) можно использовать для вычисления арифметического выражения, как в этом примере:

Это добавит 18 к значению переменной «m», а затем распечатает результат.

Чтобы присвоить вычисляемое значение переменной, вы можете использовать знак равенства без пробелов вокруг нее:

Другой способ оценить арифметические выражения — использовать двойные скобки. Например:

Это увеличит в четыре раза значение переменной «m».

Помимо арифметической оценки, оболочка Bash предоставляет другие программные конструкции, такие как циклы for, циклы while, условные выражения, а также функции и подпрограммы.

Ссылка на основную публикацию