Как да проверите дали променливата е зададена или празна в bash

How Check Variable Is Set



Променлива може да бъде дефинирана или неопределена. Когато някоя променлива не е декларирана или декларирана, но не е присвоена стойност, тогава променливата не е зададена или неопределена. Когато някоя променлива е декларирана и присвоена със стойност, променливата се задава. Много пъти се изисква да се знае, че конкретната променлива е зададена или не за целите на програмирането. Една от важните цели за проверка на променливата е зададена или не е валидирането на данните. Bash няма вградена функция като други стандартни езици за програмиране, за да провери дали променлива е зададена или не. Но bash има функция за изпълнение на тази задача. Как можете да проверите дали променливата е зададена или не в bash е показано в този урок.

Синтаксис:







[[ -vпроменлива]]Или[[ променлива]]

Опцията „-v“ или „-z“ се използва за проверка дали променливата е зададена или не зададена. Горният булев израз ще върне true, ако променливата е зададена и връща false, ако променливата не е зададена или празна.



$ {променлива+низ}

Замяната на параметър е друг начин да проверите дали променливата е зададена или не. Ако променливата е зададена, стойността на низа ще се върне, в противен случай ще се върне null.



Пример-1: Проверете дали променливата е зададена или отменена, като използвате опцията „-z“

Създайте bash файл с име check_var1.sh със следния скрипт. Ето, първият ` ако` условието ще се върне true и 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, преди да се провери дали променливата е зададена или отменена. Условието „ако“ ще върне вярно и съобщението, Променливата „str“ е зададена и стойността е Hello ще отпечата.

check_var2.sh

#!/bin/bash
#Задайте променливата
стр= Здравейте
#Присвойте стойността World на checkval, ако променливата str е зададена
checkval=$ {str+свят}
#Проверете дали променливата е зададена или не
ако [ $ 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.