Как проверить, пуста или нет переменная в сценарии оболочки Bash

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

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

Существует несколько способов проверить, пуста или нет переменная в сценарии оболочки. Мы рассмотрим некоторые из них.

1. Использование оператора -z

Вы можете легко проверить, пуста переменная или нет, добавив перед ней оператор -z, как показано ниже. Вот пример проверки того, установлена ли переменная $var или нет.

Приведенный выше оператор проверяет, равна ли длина переменной $var нулю, и возвращает True, если она равна нулю, в противном случае возвращает False. Вы также можете использовать его в условиях if, как показано ниже.

Вы также можете комбинировать проверку оператора -z с операторами AND (&&) и OR (||) для прямого отображения того, существует ли переменная или нет.

В первом операторе выше результат условного выражения объединяется с оператором echo с помощью оператора AND. Поэтому, если результат равен true, только тогда строка будет выведена на экран. В противном случае ничего не отображается. Во втором операторе мы используем оператор OR для отображения строки "Не пусто", если условное выражение имеет значение False.

Вы также можете проверить, не установлена ли переменная, добавив оператор отрицания перед оператором -z.

Аналогично, вы можете использовать оператор отрицания в условных выражениях, как показано ниже.

2. Использование оператора test

Вы также можете использовать команду test с оператором -z, чтобы проверить, пуста переменная или нет. Вот пример.

В приведенном выше операторе if-else, если переменная пуста, то команда test выдает значение True, в противном случае - False.

Вы можете использовать приведенные выше команды в терминале shell или в сценарии shell. Они прекрасно работают во всех оболочках во всех дистрибутивах Linux.

Заключение

В этой статье мы узнали, как легко определить, пуста переменная или нет.

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