Как использовать булевы переменные в сценарии Bash

Иногда вам может понадобиться использовать булевы переменные в сценарии оболочки. В этой статье мы узнаем, как объявлять, устанавливать и оценивать булевы переменные в сценарии Bash. Мы узнаем, как установить переменную в булево значение, а также как проверить, является ли переменная булевой.

linux

Как использовать булевы переменные в сценарии оболочки

В сценариях оболочки вам не нужно объявлять переменные. Вы можете напрямую присвоить им значения, и они будут оценены во время выполнения. Вот простой синтаксис для установки переменных в булевы значения.

Вот два примера установки переменной abc в значения true и false.

Далее мы узнаем, как оценить значение булевой переменной.

В приведенном выше примере мы присваиваем переменной значение True. Мы используем условие if, чтобы проверить, является ли переменная истинной. У вас может возникнуть искушение использовать следующий синтаксис для проверки истинности переменной shell, как это делается в других языках программирования.

Избегайте описанного выше способа проверки булевой переменной в сценарии оболочки. Это связано с тем, что bash shell имеет встроенное значение true для каждой назначенной переменной, независимо от ее значения. Например, следующие утверждения также приведут к тому, что вышеприведенное условие будет оценено как true.

В каждом из трех вышеприведенных примеров условие if оценивается в true и выполняет вложенный скрипт. Это происходит потому, что в таких случаях bash проверяет только то, установлена ли переменная оболочки или нет, а не ее присвоенное значение. Поэтому это может быть небезопасно, когда даже правильная команда может оказаться оцененной, как показано в примере 3.

Вот несколько эквивалентных примеров проверки истинности переменной.

Заключение

В этой статье мы узнали, как установить переменную shell в булево значение, а также оценить его.

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