Как проверить, является ли строка пустой в Linux

LinuxLinuxBeginner
Практиковаться сейчас

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом практическом занятии (лабораторной работе) вы научитесь основным техникам работы со строками в Linux. Вы узнаете, как эффективно проверить, является ли строка пустой, используя команду test -z, которая представляет собой важный навык для условной логики в оболочном скриптинге. Кроме того, вы потренируетесь выводить содержимое строки с помощью универсальной команды echo и изучите, как измерить длину строки с помощью команды expr length. Эти практические упражнения дадут вам практический опыт по манипуляции и анализу строк в среде Linux.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicSystemCommandsGroup(["Basic System Commands"]) linux(("Linux")) -.-> linux/TextProcessingGroup(["Text Processing"]) linux/BasicSystemCommandsGroup -.-> linux/echo("Text Display") linux/BasicSystemCommandsGroup -.-> linux/test("Condition Testing") linux/TextProcessingGroup -.-> linux/expr("Evaluate Expressions") subgraph Lab Skills linux/echo -.-> lab-558767{{"Как проверить, является ли строка пустой в Linux"}} linux/test -.-> lab-558767{{"Как проверить, является ли строка пустой в Linux"}} linux/expr -.-> lab-558767{{"Как проверить, является ли строка пустой в Linux"}} end

Проверка пустоты строки с использованием 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.

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

Вывод содержимого строки с использованием echo

На этом этапе вы научитесь выводить содержимое переменной строки с помощью команды echo. Как вы видели в первой лабораторной работе, команда echo используется для вывода текста в терминал. При использовании с переменными она выводит значение, хранящееся в переменной.

Вспомните из предыдущего шага, что мы определили переменную с именем another_string и присвоили ей значение "Hello".

another_string="Hello"

Для вывода содержимого этой переменной используйте команду echo, за которой следует знак доллара ($) и имя переменной. Знак доллара важен; он сообщает оболочке, что вы хотите использовать значение переменной, а не имя переменной как обычную строку.

Введите следующую команду, чтобы вывести содержимое another_string:

echo "$another_string"

Вы должны увидеть следующий вывод:

Hello

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

Введите следующую команду:

echo "The value of the string is: $another_string"

Вы должны увидеть следующий вывод:

The value of the string is: Hello

В общем, рекомендуется использовать двойные кавычки (") вокруг имени переменной или всей строки. Это помогает избежать проблем с пробелами или специальными символами в значении переменной.

Давайте попробуем вывести пустую строку, которую мы определили ранее, my_string:

echo "$my_string"

Поскольку my_string пустая, эта команда просто выведет пустую строку.

Команда echo является фундаментальным инструментом для вывода информации и отладки в оболочном скриптинге. Вы будете часто использовать ее, чтобы видеть значения переменных и вывод команд.

Измерение длины строки с использованием expr length

На этом этапе вы научитесь измерять длину строки с помощью команды expr и оператора length. Команда expr используется для вычисления выражений, включая выполнение математических операций и манипуляций со строками.

Оператор length в рамках команды expr принимает строку в качестве аргумента и возвращает количество символов в этой строке.

Давайте используем переменную another_string, которую мы определили на предыдущих этапах и которая имеет значение "Hello".

another_string="Hello"

Для определения длины another_string вы будете использовать команду expr, за которой следует оператор length и значение переменной. Не забудьте использовать знак доллара ($) перед именем переменной, чтобы получить ее значение.

Введите следующую команду:

expr length "$another_string"

Вы должны увидеть следующий вывод, который представляет собой количество символов в "Hello":

5

Теперь давайте попробуем определить длину пустой строки my_string:

my_string=""

Введите команду:

expr length "$my_string"

Вывод должен быть следующим:

0

Это подтверждает, что длина пустой строки действительно равна нулю.

Команда expr length представляет собой простой способ получить количество символов в строке при написании оболочечных скриптов. Это полезно в различных сценариях, таких как проверка длины входных данных или перебор символов.

Резюме

В этой лабораторной работе вы научились проверять, является ли строка пустой в Linux с использованием команды test -z. Эта команда возвращает истину (код завершения 0), если строка пуста, и ложь (код завершения 1) в противном случае. Вы практиковали определение как пустых, так и непустых строковых переменных и проверяли вывод команды test -z, проверяя код завершения с помощью echo $?. Вы также научились выводить содержимое строковой переменной с использованием команды echo и измерять длину строки с использованием команды expr length. Эти фундаментальные операции являются важными для работы со строками в оболочном скриптинге.