Програмування BASH

Проведіть if -z та if -n для тестування рядків

Проведіть if -z та if -n для тестування рядків

Оператор "якщо" в Bash може використовуватися з різними параметрами для різних цілей. Кожного разу, коли ми працюємо зі рядками в Bash, нам дуже важливо перевірити, чи є рядок нульовим чи ні, щоб це не могло викликати жодних проблем у виконанні нашої програми. І прапорці “-z” і “-n” можна використовувати з оператором “if” для перевірки рядків, і ми пояснимо вам, як це можна зробити в сьогоднішній статті.

Примітка: Linux Mint 20 використовується для тестування наступних прикладів.

Метод використання Bash “if -z” та “if -n” для тестування рядків

Щоб пояснити використання Bash “if -z” та “if -n” для тестування рядків, ми хотіли б поділитися з вами наступними прикладами сценаріїв.

Приклад №1: Використання “if -n”, щоб показати, що рядок є нульовим

Щоб показати, що рядок у Bash є нульовим, використовуючи оператор “if -n”, ми виконаємо такі дії:

Спочатку ми створимо файл Bash у нашому домашньому каталозі з назвою Strings.sh, як показано на зображенні нижче:

Після створення цього файлу ми введемо в наш файл сценарій, показаний на наступному зображенні. Як і кожен сценарій Bash, перший рядок, тобто.e. "#!/ bin / bash, ”є обов’язковим. Тоді ми оголосили нульовий рядок з назвою “name”. Нульовий рядок у Bash можна оголосити, прирівнявши змінну до “”. Тоді ми маємо оператор “if”, за яким слідує прапор “-n”, який повертає true, якщо рядок не є null. Ми використали цей прапор для тестування нашого рядка “name”, який є нульовим. Це означає, що умова “якщо” не буде виконана, оскільки значення прапора “-n” у цьому випадку буде хибним. Тому у нас також є частина „else”, яка буде виконана шляхом друку повідомлення на терміналі.

Тепер настав час виконати цей файл, що можна зробити за допомогою наведеної нижче команди:

$ bash Рядки.ш

Оскільки рядок, який ми оголосили, був нульовим, саме тому частина нашого сценарію "else" була виконана, і відповідне повідомлення було надруковано на терміналі, як показано на наступному зображенні:

Приклад №2: Використання “if -n”, щоб показати, що рядок не є нульовим

Щоб показати, що рядок у Bash не є нульовим за допомогою оператора “if -n”, ми виконаємо такі дії:

Ми введемо наступний сценарій у наш файл Bash. Єдиною зміною, яку ми внесли в сценарій, який ми створили вище для цього сценарію, є те, що цього разу ми призначили рядку “name” дійсне ім’я. Це означає, що наш рядок цього разу не є нульовим, що означає, що частина сценарію "якщо" повинна бути виконана.

Тепер запустіть сценарій ще раз, і ви помітите, що наш змінений сценарій працює так само, як ми хотіли, виконавши частину сценарію "якщо" цього разу, як показано на малюнку нижче:

Приклад №3: Використання “if -z”, щоб показати, що рядок не є нульовим

Щоб показати, що рядок у Bash не є нульовим, використовуючи оператор “if -z”, ми виконаємо такі дії:

Сценарій для цього сценарію майже такий самий, як і для сценарію, обговореного вище. Ми лише замінили прапор “-n” прапором “-z”, але цього разу ми також поміняли місцями “if” та “else” сценарію, оскільки прапор “-z” повертає true, якщо рядок дорівнює нулю. Це означає, що цього разу частина сценарію “else” буде виконана, оскільки наш рядок не був нульовим.

Ви можете перевірити це, запустивши скрипт, який ви щойно змінили, і ви зможете побачити, що ваш рядок не був нульовим, як показано на зображенні нижче:

Приклад # 4: Використання “if -z”, щоб показати, що рядок є нульовим

Щоб показати, що рядок у Bash є нульовим за допомогою оператора “if -z”, ми виконаємо такі дії:

Для цього сценарію ми використовували той самий сценарій, що і для прикладу №3. Єдина зміна, яку ми внесли до цього сценарію, полягає в тому, що ми зробили свій рядок нульовим, присвоївши йому нульове значення, як ви можете бачити на зображенні, показано нижче:

Тепер, коли ми запускаємо цей сценарій, частина сценарію “if” буде виконана, оскільки рядок є нульовим, а отже, значення прапора “-z” буде істинним, як видно з наступного зображення:

Приклад №5: Введення введеного користувачем рядка та тестування його за допомогою “if -z”

Для тестування вхідного рядка, наданого користувачем із заявою “if -z”, ми виконаємо наступні кроки:

Ми скопіюємо сценарій, показаний на зображенні нижче, у нашому файлі Bash. Тут ми просимо користувача ввести рядок, а потім ми зберігаємо цей рядок у змінній “string” за допомогою команди “read”. Потім ми тестуємо цей рядок за допомогою оператора “if -z”, який буде виконаний, якщо рядок є нульовим. Якщо це так, цей скрипт запропонує користувачеві ввести дійсний рядок, а потім надрукує цей рядок. Однак, якщо користувач вперше вводить дійсний рядок, тоді буде виконана частина сценарію “else”.

Після запуску цього сценарію Bash, коли нам було запропоновано ввести рядок, ми навмисно ввели нульовий рядок, i.e., ми просто натиснули клавішу Enter. Ось чому наш термінал запропонував нам ввести дійсний рядок, як показано на наступному зображенні:

Цього разу ми ввели дійсний рядок «привіт», а отже термінал надрукував відповідне повідомлення, як показано на зображенні нижче:

Висновок

Ця стаття навчила вас всім різним методам, за допомогою яких ви можете перевірити свої рядки на нуль чи ні, використовуючи прапори “-z” та “-n” із оператором “if”. Використовуючи ці прапори, ми можемо перевірити будь-які рядки і, отже, використовувати їх дуже ефективно в наших сценаріях.

Встановіть найновіший емулятор Dolphin для Gamecube & Wii на Linux
Емулятор Dolphin дозволяє грати у вибрані вами ігри Gamecube та Wii на персональних комп’ютерах Linux (ПК). Будучи вільно доступним і відкритим ігров...
Як використовувати GameConqueror Cheat Engine в Linux
Стаття висвітлює посібник із використання механізму читів GameConqueror в Linux. Багато користувачів, які грають у ігри в Windows, часто використовуют...
Кращі емулятори ігрової консолі для Linux
У цій статті буде перелічено популярне програмне забезпечення для емуляції ігрової консолі, доступне для Linux. Емуляція - це рівень сумісності програ...