Како проверити да ли је променљива постављена или празна у басх -у

How Check Variable Is Set



Променљива може бити дефинисана или недефинисана. Када било која променљива није декларисана или декларисана, али није додељена вредност, онда променљива није постављена или недефинисана. Када се било која променљива декларише и додели јој вредност, онда се она поставља. Много пута је потребно знати да је одређена променљива постављена или не за потребе програмирања. Једна од важних сврха провере да ли је променљива постављена или не је валидација података. Басх нема уграђену функцију као други стандардни програмски језици за проверу да ли је променљива постављена или не. Али басх има функцију за обављање овог задатка. Како можете да проверите да ли је променљива постављена или није у басх -у приказано је у овом водичу.

Синтакса:





[[ променљива]]Ор[[ -Сапроменљива]]

Опција „-в“ или „-з“ се користи за проверу да ли је променљива постављена или поништена. Горњи Боолеан израз ће вратити труе ако је променљива постављена и вратити фалсе ако променљива није постављена или празна.



$ {променљива+стринг}

Замена параметра је још један начин да проверите да ли је променљива постављена или поништена. Ако је променљива постављена, вредност низа ће се вратити у супротном ће се вратити нулл.



Пример-1: Проверите да ли је променљива постављена или поништена помоћу опције „-з“

Направите басх датотеку под називом цхецк_вар1.сх са следећим писмом. Ево, први ` иф` услов ће се вратити тачно и Нум променљива није подешена штампаће. У следећој изјави, 20 је додељено променљивој, $ нум . Други услов `иф` враћа фалсе и Нум је подешен, а вредност Нум = 20 штампаће.





цхецк_вар1.сх

#!/бин/басх
#Проверите да ли је променљива постављена или није
ако [ -Са $ {Нум} ];онда
Избацио 'Променљива' Нум 'није подешена'
елсе
Избацио 'Променљива' Нум 'је подешена'
бити
#Доделите вредност
на једном=двадесет
#Проверите да ли је променљива постављена или не након додељивања вредности
ако [ -Са $ {Нум} ];онда
Избацио '' Нум 'променљива није подешена' '
елсе
Избацио '' Нум је постављен и вредност Нум =$ нум'
бити

Покрените скрипту.



$басхцхецквар1.сх

Пример-2: Проверите да ли је променљива постављена или поништена помоћу замене параметра

Направите басх датотеку под називом цхецк_вар2.сх и додајте следеће писмо. Овде се променљивој додељује вредност низа, $ стр пре него што се провери да ли је променљива постављена или поништена. Услов „ако“ ће вратити истину, а порука, 'Стр' променљива је подешена и вредност је Хелло штампаће.

цхецк_вар2.сх

#!/бин/басх
#Подесите променљиву
п= Здраво
#Доделите вредност Ворлд за цхецквал ако је променљива стр подешена
цхецквал=$ {стр+Свет}
#Проверите да ли је променљива постављена или поништена
ако [ $ цхецквал -екВорлд];онда
Избацио Променљива „стр“ је подешена и вредност је$ стр'
елсе
Избацио '' Стр '' променљива није постављена '
бити

Покрените скрипту.

$басхцхецквар2.сх

Пример-3: Проверите да ли је променљива празна или не

Направите басх датотеку под називом цхецк_вар3.сх и додајте следеће писмо. Скрипта ће сачувати први аргумент командне линије у променљиву, $ аргв то се проверава у следећој изјави. Излаз ће бити Први аргумент је празан ако ниједан аргумент није прослеђен, вредност првог аргумента ће бити одштампана.

цхецк_вар3.сх

#!/бин/сх
#Прочитајте прву вредност аргумента командне линије
аргв=„1 УСД“
#Проверите да ли је дата прва вредност аргумента или није
[ '$ аргв' ] && Избацио 'Први аргумент је празан' ||
Избацио „Вредност првог аргумента је$ аргв'

Покрените скрипту без икаквих аргумената.

$басхцхецквар3.сх

Покрените скрипту са аргументом.

$басхцхецквар3.схтест

Закључак

У овом водичу су приказани различити начини провере да ли је променљива постављена или поништена или празна. Надам се да ће овај водич помоћи корисницима да науче начине тестирања било које басх променљиве.