Проверка существования переменной с использованием команды test -z
На этом этапе вы научитесь проверять, является ли переменная пустой или не установлена, используя команду test
с опцией -z
. Это полезно при написании скриптов для принятия решений на основе того, имеет ли переменная какое-либо значение.
Команда test
используется для оценки условных выражений. Опция -z
проверяет, равна ли длина строки нулю. Если строка пуста (или переменная не установлена), то проверка дает истинный результат.
Проверим, установлена ли переменная с именем MY_VARIABLE
. Сначала убедимся, что она не установлена.
Введите следующую команду и нажмите Enter:
unset MY_VARIABLE
Команда unset
удаляет переменную. Теперь используем test -z
для проверки, является ли MY_VARIABLE
пустой. Мы объединим это с командой echo
, чтобы увидеть результат проверки. Оператор &&
выполняет вторую команду только в том случае, если первая команда завершается успешно (возвращает истинное значение, что для команды test
означает, что условие выполнено).
Введите следующую команду и нажмите Enter:
test -z "$MY_VARIABLE" && echo "MY_VARIABLE is empty or not set"
Поскольку мы только что удалили переменную MY_VARIABLE
, условие test -z "$MY_VARIABLE"
истинно (переменная пуста), поэтому команда echo
будет выполнена.
Вы должны увидеть следующий вывод:
MY_VARIABLE is empty or not set
Теперь установим значение для MY_VARIABLE
.
Введите следующую команду и нажмите Enter:
MY_VARIABLE="Hello"
Теперь запустим ту же команду test -z
еще раз.
Введите следующую команду и нажмите Enter:
test -z "$MY_VARIABLE" && echo "MY_VARIABLE is empty or not set"
На этот раз переменная MY_VARIABLE
имеет значение "Hello", поэтому она не пуста. Условие test -z "$MY_VARIABLE"
ложно, и команда echo
не будет выполнена.
На этот раз вы не должны увидеть вывода от команды echo
.
Это демонстрирует, как можно использовать test -z
для проверки, является ли переменная пустой или не установлена. Это фундаментальное понятие, используемое в скриптах оболочки (shell scripting) для условной логики.