logo

Bash Проверете дали променливата е зададена

Променливата често се нарича кутия, съдържаща име и съдържание. Проста команда, например 'echo Hello $Var_Name' ще отпечата 'Hello... стойността на променливата, както е дефинирана'. Bash няма да отпечата нищо, ако полето е празно или не е създадено. Ето защо е важно да се уверите дали дадена променлива е зададена правилно или не, докато създавате bash скрипт.

Променливите могат да бъдат категоризирани в две части:

    Дефинирани променливи
    Променливите, които са правилно създадени или инициализирани, са известни като дефинирани променливи. Те могат да имат нулева стойност или празен низ.Недефинирани променливи
    Променливи, които никога не се създават или инициализират, са известни като недефинирани променливи.

За да потвърдим дали дадена променлива е зададена или не в Bash Scripting, можем да използваме -v var или -z ${var} опции като израз с комбинация от условна команда 'if'.

Синтаксис

Следва синтаксисът на булевия израз, който може да се използва за проверка дали променливата е зададена:

 [[ -v Variable_Name ]] [[ -z Variable_Name ]] 

Булевият израз връща „Истина“, ако променливата е зададена, и „Невярно“, ако променливата не е зададена.

python запазва json във файл

Следват примери за проверка дали дадена променлива е зададена или не:

Използване на опция -v

 #!/bin/bash #Script to check whether a variable is set or not using -v option A=100 #A: variable is set. if [[ -v A ]]; then echo 'Variable having name 'A' is already set.' else echo 'Variable having name 'A' is not set.' fi #B: variable is not set if [[ -v B ]]; then echo 'Variable having name 'B' is already set.' else echo 'Variable having name 'B' is not set.' fi 

Изход

Bash Проверете дали променливата е зададена

Тук променливата „A“ е дефинирана и й е присвоена стойност 100 и следователно се счита за „зададена променлива“. За променлива „B“ не сме дефинирали или присвоили никаква стойност. В резултат на това променливата „B“ не се счита за „настроена променлива“.

Използване на опция -z

 #!/bin/bash #Script to check whether a variable is set or not using -z option A=100 #A: variable is set. if [[ -z ${A} ]]; then echo 'Variable having name 'A' is not set.' else echo 'Variable having name 'A' is already set.' fi #B: variable is not set if [[ -z ${B} ]]; then echo 'Variable having name 'B' is not set.' else echo 'Variable having name 'B' is already set.' fi 

Изход

Bash Проверете дали променливата е зададена

Забележка:Има разлика между ненастроена променлива и променлива с нулева стойност.

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

Пример

 VAR='' #VAR is set if [ -z ${VAR+x} ]; then echo ''VAR' is unset'; else echo ''VAR' is set, its content is '$VAR''; fi #Var is not set if [ -z ${Var+x} ]; then echo ''Var' is unset'; else echo ''Var' is set, its content is '$Var''; fi 

Изход

Bash Проверете дали променливата е зададена

Това са често използваните методи, които могат да се използват за проверка дали дадена променлива е зададена или не.

regex в java