ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)
Суббота, 14 декабря, 2024

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

Bash Heredoc

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

 

Синтаксис:

[[ -v variable ]] Or [[ -z variable ]]

 

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

${variable+string}

 

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

 

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

Создайте файл bash с именем check_var1.sh с помощью следующего скрипта. Здесь первое условие `if` вернет истину и напечатает «Переменная ‘num’ не установлена». В следующем операторе 20 присваивается переменной $Num. Второе условие `if` вернет false, и будет напечатано «Num установлено и значение Num=20».

check_var1.sh

#!/bin/bash #
Проверить, установлена ли переменная
if [ -z ${Num} ]; then
echo "Переменная 'Num' не установлена"
else
echo "Переменная 'Num' установлена"
fi
# Назначить значение
Num=20
# Проверить, установлена ли переменная после присвоения значения
if [ -z ${Num} ]; then
echo "Переменная 'Num' не установлена"
else
echo "'Num установлено и значение Num=$Num "
fi

 

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

$ bash checkvar1.sh

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

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

check_var2.sh

#!/bin/bash
# Установить переменную
str = ”Hello”
# Назначить значение “World” для checkval, если переменная str установлена
checkval = $ {str + “World”}
# Проверить, установлена ли переменная,
if [ $checkval -eq “World” ]; then
echo "переменная 'str' установлена и значение равно $str"
else
echo "переменная 'str' не установлена"
fi

 

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

$ bash checkvar2.sh

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

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

check_var3.sh

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

 

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

$ bash checkvar3.sh

 

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

$ bash checkvar3.sh test

Вывод

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

Exit mobile version