Bash, если переменная пуста, выполните действия

Bash If Variable Is Empty Do Actions



Создание сценариев на Bash - одно из преимуществ использования Linux. Это позволяет нам создавать индивидуальные команды и инструменты для автоматизации наших повседневных задач. Как и большинство языков программирования, Bash дает нам условные операторы для проверки конкретных условий и выполнения действий в зависимости от результата.

Из этого туториала Вы узнаете, как использовать условные операторы, чтобы проверить, пуста ли переменная, а затем выполнить действие после этого. Такие действия могут включать зацикливание блока кода до тех пор, пока переменная не станет пустой, завершение работы или просто предупреждение пользователя о том, что переменная пуста.







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



Bash Basic - переменные 101

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



Чтобы создать простую переменную в Bash, мы используем имя переменной.





Например:

#! / bin / bash

$ i_am

После инициализации переменной вы можете присвоить ей значение, используя знак равенства:



#! / bin / bash

я= убунту

После того, как он был объявлен и назначен, вы можете вызвать его, просто сославшись на него по имени как:

#! / bin / bash

выбросил $ i_am

Это вернет значение, хранящееся в переменной, как показано на скриншоте ниже.

ЗАМЕТКА: Обращение к переменной как в одинарных, так и в двойных кавычках возвращает разные результаты. Переменная в одинарных кавычках станет строковым литералом, а в двойных кавычках она получит обработку имени переменной.

Вот пример:

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

Подробное руководство по созданию переменных bash см. В приведенном ниже ресурсе:

https://linuxhint.com/variables_bash/

Основы Bash - Операторы If

Если операторы - это еще один фундаментальный программный блок, и Bash без них был бы калекой. Они позволяют нам выполнять действие, если условие истинно или ложно.

Давайте кратко рассмотрим, как использовать Bash if, if… else и if… elif… else

Если S высказывание

Общий синтаксис использования оператора if в Bash показан ниже:

#! / bin / bash

если {состояние}

тогда

делать

быть

Мы начинаем оператор if с вызова ключевого слова if. Затем мы указываем условие для проверки. Условие может быть простым или сложным выражением, если оно оценивается как истинное или ложное.

Затем мы устанавливаем ключевое слово, указывающее, что блок кода запускается, если условие истинно.

Наконец, мы закрываем оператор if с помощью ключевого слова fi.

Если… else заявления

Оператор bash if… else указывает дополнительное действие, если условие оценивается как ложное. Общий синтаксис:

#! / bin / bash

если {состояние}

тогда

делать

еще

делать

быть

Пример использования

Позвольте мне использовать простой пример, чтобы проиллюстрировать использование операторов if.

Оператор if выглядит так, как показано ниже:

#! / bin / bash
на однойзнак равно1
если [[ $ num -gt5 ]]
тогда
выбросил '$ numбольше 5 '
еще
выбросил '$ numменьше 5 '
быть

Результат показан ниже:

Поскольку теперь у нас есть основы работы с операторами if, давайте продолжим работу с этим руководством.

Проверьте, есть ли утверждения в деталях ниже:

https://linuxhint.com/bash_conditional_statement/

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

Популярный и простой способ проверить, пуста ли переменная, - использовать параметр -z в операторе условия.

-Z $ var возвращает истину, если переменная пуста, и ложь, если нет.

Общий синтаксис такого теста:

#! / bin / bash
если [[ -С участием $ var ]]
тогда
делать
еще
делать
быть

Пример сценария

Давайте проиллюстрируем простой сценарий, который имитирует команду cd и перемещается по указанному каталогу.

Рассмотрим сценарий ниже:

#! / bin / bash
выбросил 'Введите путь для перехода:'

читать_дорожка

в то время как [[ -С участием $ _path ]];делать
выбросил 'Укажите путь'
сделано
выбросил 'Переход к$ _path'
CD $ _path

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

Сценарий начинается с того, что пользователя просят ввести каталог, в который нужно перейти. Затем он проверяет, пуста ли переменная. Если он пуст, он рекурсивно запрашивает у пользователя путь, пока переменная не станет пустой.

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

Заключение

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

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

Спасибо и желаю удачного времени для написания сценариев !!