Проверка пустоты строки с использованием test -z
На этом этапе вы научитесь проверять, является ли строка пустой в Linux, используя команду test
с опцией -z
. Это фундаментальная операция при работе со строками в оболочном скриптинге.
Команда test
используется для оценки условных выражений. Опция -z
специально проверяет, равна ли длина строки нулю. Если строка пуста, то проверка дает истину; в противном случае - ложь.
Давайте попробуем это в терминале. Сначала мы определим переменную для пустой строки. В оболочном скриптинге вы определяете переменную, введя ее имя, за которым следует знак равенства (=
), а затем значение. вокруг знака равенства не должно быть пробелов.
Введите следующую команду, чтобы определить переменную пустой строки с именем my_string
:
my_string=""
Теперь давайте используем команду test -z
для проверки, является ли my_string
пустой. Само по себе команда test
не выводит результат; ее результат используется для управления потоком выполнения скрипта (о чем вы узнаете позже). Однако мы можем увидеть ее результат, проверив статус завершения предыдущей команды с помощью echo $?
. Статус завершения 0
означает успех (истина), а ненулевой статус означает неудачу (ложь).
Введите следующую команду, чтобы проверить, является ли my_string
пустой:
test -z "$my_string"
После выполнения команды test
проверьте ее статус завершения:
echo $?
Поскольку my_string
пустая, команда test -z
должна вернуть истину, и команда echo $?
должна вывести 0
.
Теперь давайте определим непустую строку:
another_string="Hello"
И проверим, является ли она пустой:
test -z "$another_string"
Проверьте статус завершения:
echo $?
На этот раз, так как another_string
не пустая, команда test -z
должна вернуть ложь, и команда echo $?
должна вывести 1
.
Понимание того, как проверять пустые строки, является важным для написания надежных оболочечных скриптов, которые корректно обрабатывают различные входные данные.