Как использовать команду Bash let

Bash let - это встроенная команда в системах Linux, используемая для оценки арифметических выражений. В отличие от других команд оценки и расширения арифметических выражений, let - это простая команда с собственным окружением. Команда let также позволяет выполнять арифметическое расширение.

Bash

Синтаксис команды let в Bash

Команда let использует следующий базовый синтаксис:

В приведенном выше синтаксисе выражение - это арифметическое выражение, которое вы хотите, чтобы команда let оценила. let работает только с выражениями, содержащими целые числа. Команда let не поддерживает числа с плавающей точкой.

При использовании команды let лучше всего заключать отдельные выражения в двойные кавычки ( " ), чтобы избежать ошибок.

Команда let позволяет одновременно оценивать более одного выражения. В этом случае синтаксис выглядит следующим образом:

Арифметические операторы let

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

Оператор Описание
var++
var--
Пост-инкремент (++): Интерпретировать значение переменной и добавить к нему 1.
Пост-декримент (--): Интерпретировать значение переменной и вычесть из него 1.
++var
--var
Предварительное увеличение (++): Добавить 1 к значению переменной, а затем интерпретировать значение.
Предварительное уменьшение (--): Вычесть 1 из значения переменной, а затем интерпретировать значение.
-expr
+expr
Унарный минус: Возвращает значение выражения, умноженное на -1.
Унарный плюс: Возвращает значение выражения без изменений (умноженное на 1).
!
~
Логическое отрицание: Возвращают false, если операнд истинен, и true, если операнд ложен.
Побитовое отрицание: Перевернуть биты в двоичном представлении числа.
** Экспонирование: Возведение одного целого числа в степень другого.
*
/
%
Основные арифметические операторы:
Умножение.
Деление.
Остаток (по модулю).
+
-
Основные арифметические операторы:
Сложение.
Вычитание.
<<
>>
Побитовый сдвиг влево.
Побитовый сдвиг вправо.
<=
>=
<
>
Сравнение стоимости: Меньше или равно.
Больше или равно.
Меньше, чем.
Больше, чем.
==
!=
Равенство: Возвращает true, если операнды равны. Неравенство: Возвращает false, если операнды равны.
& Побитовое И: Перемножает соответствующие цифры двух двоичных значений.
^ Побитовое XOR: сравнивает соответствующие цифры двух двоичных значений и возвращает 1, если цифры отличаются.
| Побитовое ИЛИ: Сравнивает соответствующие цифры двух двоичных значений и возвращает 1, если одна из цифр равна 1.
&& Логическое И: Возвращает истину, если оба операнда истинны.
|| Логическое ИЛИ: Возвращает истину, если любой из операндов истинен.
expr1 ? expr2 : expr3 Условный оператор: Если expr1 истинно, возвращает expr2. Если expr1 ложно, возвращается expr3.
=, *=, /=, %=, +=, -=, <<=, >>=, &=, ^=, |= Присвоение: Присвоение значения переменной.

Примеры Bash let

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

Присвоение значения переменной

Используйте команду let, чтобы присвоить значение переменной:

Например, присвойте переменной var1 значение 5 и выведите это значение в качестве вывода:

Аналогично, после установки значения переменной команда let позволяет присвоить то же значение другой переменной:

Выполнение основных арифметических операций

После задания значений переменных используйте команду let для выполнения основных арифметических операций. Например, задайте var1 значение 6, а var2 - 2 и выполните сложение, вычитание, умножение, деление и умножение по модулю:

В этом примере команда let устанавливает значение var3 как результат арифметической операции и выводит результат.

Выполнение экспоненцирования

Для выполнения экспоненциализации команда let требует два целочисленных значения. Первое значение (base) возводится в степень второго значения (power):

Например, чтобы возвести базовое значение 3 в степень 2 и вывести результат, используйте эту команду:

Выполнение унарных операций

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

Унарный плюс умножает выражение на 1 и возвращает неизменное значение:

Инкрементное изменение значения переменной

Использование операторов пост-инкремент или пост-декремент интерпретирует значение переменной, а затем увеличивает или уменьшает его на 1:

В приведенном выше примере переменная var2 получает значение var1 (10) до того, как она будет увеличена на 1. То же самое происходит при выполнении post-decrement:

Выполнение предварительного инкремента увеличивает значение var1 на 1 (11), а затем присваивает новое значение var2:

Выполнение предварительного уменьшения делает то же самое. Однако на этот раз значение var1 уменьшается на 1 (9):

Выполнение сдвига битов

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

И наоборот, двукратное выполнение сдвига вправо делит значение на 2 дважды:

Выполнение побитовых операций

Побитовое отрицание меняет местами каждую цифру двоичного числа. Эта операция меняет 1 на 0 и наоборот:

В приведенном примере команда let преобразует значение 5 в 32-битное знаковое целое число (000000000000000000000000000000000101) и меняет разряды местами. В результате этой операции получается -6 (1111111111111111111111111111111111111010).

Оператор побитового AND преобразует пару значений в 32-битные знаковые целые числа и сравнивает цифры по порядку. Оператор возвращает 1, если обе цифры равны 1, иначе он возвращает 0:

Оператор побитового ИЛИ сравнивает соответствующие разряды двух значений и возвращает 1. Но, по крайней мере, один из битов должен быть равен 1:

Оператор побитового XOR сравнивает соответствующие цифры двух значений и возвращает 0, если цифры совпадают. В противном случае оператор возвращает 1:

Понравилась статья? Поделиться с друзьями:
Добавить комментарий