Поиск по сайту:

Как использовать bash, если -z и если -n для тестирования строк в Linux


На этой странице

  1. Использование оператора if -n, когда строка имеет значение null
  2. Использование if -n, когда строка не равна Null
  3. Использование if -z, когда строка имеет значение null
  4. Использование if -z, когда строка не равна Null
  5. Использование if -z при вводе строкового пользовательского ввода
  6. Заключение

В языке сценариев bash доступны различные строковые операторы, которые можно использовать для проверки строк. Операторы -z и -n используются для проверки того, является ли строка нулевой или нет. В этом руководстве мы протестируем эти строковые операторы, используя оператор if в Centos 8.

В этом руководстве вы узнаете о следующих тестовых строках:

  • If-n, когда String имеет значение Null.
  • Если-n, когда строка не равна NULL
  • If-z, когда Sting имеет значение Null
  • If-z, когда строка не равна NULL
  • Если-z при вводе строкового пользовательского ввода

Использование оператора if -n, когда строка имеет значение Null

Наша основная цель использования здесь оператора if-n — показать, что конкретная строка имеет значение Null. Выполните приведенные шаги, чтобы выполнить эту задачу:

Создайте новый файл с именем CheckString.sh. Вы можете создать его прямо в своем домашнем каталоге или с помощью следующей команды в терминале:

$ touch CheckString.sh

Вы можете видеть, что файл CheckString.sh был создан в вашем домашнем каталоге, как показано на изображении.

Откройте файл CheckString.sh и напишите сценарий bash, как показано на рисунке ниже. Здесь вы можете видеть, что мы инициализировали строку с именем StdName, за которым следует значение Null. В нашем операторе if мы использовали оператор проверки строки -n, за которым следует строка StdName. Поскольку строка StdName имеет значение null, оператор -n выполнит раздел else скрипта.

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

$ bash CheckStrings.sh

Так как наша строка StdName имеет значение Null, то строковый оператор -n выполнил часть else. Таким образом, вывод будет Извините! У вас нет имени в терминале, как показано на изображении ниже.

Использование if -n, когда строка не равна Null

Здесь мы используем оператор if-n, чтобы показать, что указанная строка в файле не является нулевой. Вы должны пройти следующие шаги, чтобы выполнить это действие:

Не нужно создавать новый файл или строку. Для этой задачи вы будете использовать тот же файл CheckString.sh с небольшими изменениями. На этот раз строка StdName в вашем файле должна иметь значение, отличное от нуля. Таким образом, вы должны присвоить своей строке значение (не нулевое), в то время как все остальные сценарии остаются прежними. Как видите, мы присвоили строке StdName значение Aqsa Yasin. Так что на этот раз If часть скрипта будет выполняться оператором -n.

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

$ bash CheckStrings.sh

Поскольку наша строка StdName теперь имеет значение Aqsa Yasin, поэтому строковый оператор -n выполнил часть if. Таким образом, на выходе будет Hy! Aqsa Yasin в терминале, как показано на приложенном изображении.

Использование if -z, когда строка имеет значение Null

Здесь мы используем оператор if-z, чтобы показать, что указанная строка в файле имеет значение Null. Вы должны пройти следующие шаги, чтобы выполнить это действие:

Для этой задачи нет ничего нового. Просто используйте тот же старый файл CheckString.sh со строковым оператором -z. Как мы знаем, оператор -z выполняет часть True, когда строка имеет значение Null. Поскольку строка StdName имеет нулевое значение, часть сценария if будет выполняться с помощью оператора -z.

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

$ bash CheckStrings.sh

Поскольку наша строка StdName теперь не имеет значения, а строковый оператор -z знает, что строка имеет значение null, поэтому он выполняет часть if. Таким образом, вывод будет «Извините, у вас нет имени в терминале», как показано на прикрепленном изображении.

Использование if -z, когда строка не равна Null

Здесь мы используем оператор if-z, чтобы показать, что указанная строка в файле не является нулевой. Выполнив эти шаги, вы сможете выполнить это действие:

Ничего нового делать не надо. Для этой задачи мы будем использовать тот же старый файл CheckString.sh с небольшими изменениями. На этот раз мы заменим строковый оператор -n строковым оператором -z. Кроме того, вы должны обмениваться частями if и else друг с другом. Как мы знаем, оператор -z выполняет часть True, когда строка имеет значение Null. Поскольку строка StdName имеет значение Aqsa Yasin, которое не равно нулю, оператор else будет выполняться с помощью оператора -z.

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

$ bash CheckStrings.sh

Поскольку наша строка StdName теперь имеет значение Aqsa Yasin, а строковый оператор -z знает, что строка не является нулевой, поэтому он выполняет часть else. Таким образом, вывод в терминале будет Hy Aqsa Yasin, как показано на рисунке ниже.

Использование if -z при вводе строкового пользовательского ввода

Наконец, мы используем оператор if-z для проверки строкового ввода, добавленного при использовании во время выполнения. Вы должны выполнить следующие шаги, чтобы проверить ввод пользовательской строки:

На этот раз вам нужно немного изменить сценарий в файле. Прежде всего, мы используем оператор -z в операторе if, за которым следует строка переменной. Система попросит пользователя добавить несколько строковых значений. Пользователь добавит некоторую строку. При использовании инструкции чтения система сохранит строку, написанную пользователем, в переменной string. Как мы знаем, оператор -z выполняет часть оператора if, когда строка действительна. Если строка, введенная пользователем, пуста, система попросит вас ввести строку еще раз. Если строка, введенная пользователем, не является нулевой, система отобразит строку.

Теперь мы запустим указанную ниже команду, чтобы проверить строку, введенную пользователем:

$ bash CheckStrings.sh

Когда система просит пользователя добавить какую-либо строку, пользователь не добавляет никакого значения. Таким образом, оператор -z распознает строку как нулевую, поэтому выполняется оператор if. Система снова предложила добавить какое-то строковое значение пользователю. Теперь на этот раз пользователь добавил допустимое строковое значение New World Order. Следовательно, система отобразила сообщение. Введенная вами строка: New World

Заключение

В этом руководстве вы узнали, как использовать строковые операторы для проверки строкового значения, которое либо равно null, либо не равно null. Я надеюсь, что эта статья очень помогла вам получить достаточное количество команд для строковых операторов -z и -n и манипулировать операторами.