Что означает -z в Bash?
Описание проблемы:
Я изучаю следующий код:
if [ -z $2 ]; then
echo "usage: ...
(Три точки не имеют значения для описания использования.)
Я, возможно, неправильно гуглю, но не могу найти объяснение для опции -z
.
Вы можете объяснить, что делает эта опция и в каких случаях она применяется?
3 ответ(ов)
Опция -z string
возвращает значение True
, если строка является пустой (т.е. равна нулю). Другими словами, она проверяет, содержит ли переменная строку без символов. Для получения дополнительной информации, вы можете обратиться к официальной документации Bash.
Используя опцию -z
, можно проверить, является ли строка пустой, то есть имеет ли она нулевую длину.
Пример кода:
String='' # Переменная строки с нулевой длиной ("пустая" строка).
if [ -z "$String" ]
then
echo "\$String is null."
else
echo "\$String is NOT null."
fi # \$String is null.
В этом примере, если переменная String
пуста (имеет нулевую длину), то выполнится первая часть условия, и вывод будет: "$String is null."
. Если же строка не пуста, то будет выведено: "$String is NOT null."
. Таким образом, использование -z
позволяет удобно выяснять, пустая строка или нет.
Выражение -z string
истинно, если длина строки string
равна нулю
.
Как изменить цвет вывода echo в Linux
Как работает "cat << EOF" в bash?
Передача параметров в функцию Bash
Расширение переменных внутри одинарных кавычек в команде Bash
Как разделить большой текстовый файл на меньшие файлы с равным количеством строк?