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

How Check Variable Is Set



Переменная может быть определенной или неопределенной. Если какая-либо переменная не объявлена ​​или объявлена, но не присвоено значение, тогда переменная не установлена ​​или не определена. Когда любая переменная объявляется и ей присваивается значение, тогда переменная устанавливается. Часто для целей программирования требуется знать, установлена ​​ли конкретная переменная. Одна из важных целей проверки того, установлена ​​ли переменная или нет, - это проверка данных. Bash не имеет встроенной функции, как другие стандартные языки программирования, для проверки того, установлена ​​ли переменная или нет. Но в bash есть функция для выполнения этой задачи. В этом руководстве показано, как вы можете проверить, установлена ​​ли переменная в bash.

Синтаксис:







[[ -vПеременная]]Или[[ -С участиемПеременная]]

Параметр ‘-v’ или ‘-z’ используется для проверки того, установлена ​​или не установлена ​​переменная. Вышеупомянутое логическое выражение вернет true, если переменная установлена, и false, если переменная не установлена ​​или пуста.



$ {переменная + строка}

Замена параметра - это еще один способ проверить, установлена ​​ли переменная или нет. Если переменная установлена, то значение строки вернется, в противном случае вернется null.



Пример 1. Убедитесь, что переменная установлена ​​или не установлена, используя параметр «-z».

Создайте файл bash с именем check_var1.sh со следующим сценарием. Здесь первый ` если` условие вернет истину и Переменная Num не задана напечатает. В следующем операторе переменной присваивается 20, $ num . Второе условие `if` вернет false и Устанавливается Num и значение Num = 20. напечатает.





check_var1.sh

#! / bin / bash
# Проверить, установлена ​​ли переменная
если [ -С участием $ {Num} ];тогда
выбросил «Переменная« Num »не установлена»
еще
выбросил 'Переменная «Num» установлена ​​»
быть
# Назначить значение
на однойзнак равнодвадцать
# Проверяем, установлена ​​ли переменная после присвоения значения
если [ -С участием $ {Num} ];тогда
выбросил Переменная '' Num 'не установлена'
еще
выбросил '' Num установлено и значение Num =$ num'
быть

Запускаем скрипт.



$трепатьcheckvar1.sh

Пример-2: проверьте, установлена ​​или не установлена ​​переменная, используя замену параметра

Создайте файл bash с именем check_var2.sh и добавьте следующий скрипт. Здесь переменной присваивается строковое значение, $ str перед проверкой, установлена ​​или не установлена ​​переменная. Условие «if» вернет истину, а сообщение Установлена ​​переменная ’str’ и имеет значение Hello напечатает.

check_var2.sh

#! / bin / bash
# Установить переменную
п= Привет
# Назначьте значение World для checkval, если установлена ​​переменная str
проверказнак равно$ {str + World}
# Убедитесь, что переменная установлена ​​или не установлена
если [ $ checkval -эквМир];тогда
выбросил Переменная '‘str’ установлена, и ее значение$ str'
еще
выбросил 'Переменная' str 'не установлена'
быть

Запускаем скрипт.

$трепатьcheckvar2.sh

Пример-3: Проверить, что переменная пуста или нет

Создайте файл bash с именем check_var3.sh и добавьте следующий скрипт. Сценарий сохранит первый аргумент командной строки в переменной, $ argv это проверяется в следующем утверждении. Результат будет Первый аргумент пуст если аргумент не передан, иначе будет напечатано значение первого аргумента.

check_var3.sh

#! / bin / sh
# Прочитать значение первого аргумента командной строки
argvзнак равно'$ 1'
# Проверить, указано ли значение первого аргумента
[ -v '$ argv' ] && выбросил 'Первый аргумент пуст' ||
выбросил 'Значение первого аргумента равно$ argv'

Запустить сценарий без аргументов.

$трепатьcheckvar3.sh

Запустите сценарий с аргументом.

$трепатьcheckvar3.shтестовое задание

Заключение

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