Cum se verifică variabila setată sau goală în bash

How Check Variable Is Set



O variabilă poate fi definită sau nedefinită. Atunci când orice variabilă nu este declarată sau declarată, dar nu este atribuită nicio valoare, atunci variabila nu este setată sau nedefinită. Când orice variabilă este declarată și atribuită cu o valoare, atunci variabila este setată. De multe ori este necesar să știți că variabila este setată sau nu în scopuri de programare. Unul dintre scopurile importante ale verificării variabilei este setat sau nu este validarea datelor. Bash nu are funcție încorporată ca alte limbaje de programare standard pentru a verifica dacă o variabilă este setată sau nu. Dar bash are o caracteristică pentru a face această sarcină. Modul în care puteți verifica dacă variabila este setată sau nu în bash este prezentat în acest tutorial.

Sintaxă:







[[ -vvariabil]]Sau[[ -Cuvariabil]]

Opțiunea „-v” sau „-z” este utilizată pentru a verifica dacă variabila este setată sau anulată. Expresia booleană de mai sus va reveni adevărată dacă variabila este setată și returnează fals dacă variabila nu este setată sau goală.



$ {variabilă + șir}

Înlocuirea parametrilor este un alt mod de a verifica dacă variabila este setată sau anulată. Dacă variabila este setată, atunci valoarea șirului va reveni altfel va reveni nul.



Exemplu-1: verificați dacă variabila este setată sau anulată utilizând opțiunea „-z”

Creați un fișier bash numit check_var1.sh cu următorul script. Aici, primul ` dacă` condiția va reveni adevărată și Variabila Num nu este setată va imprima. În următoarea declarație, 20 este atribuit variabilei, $ num . A doua condiție `if` va reveni fals și Num este setat și valoarea Num = 20 va imprima.





check_var1.sh

#! / bin / bash
# Verificați dacă variabila este setată sau nu
dacă [ -Cu $ {Num} ];atunci
aruncat Variabila „Num” nu este setată ”
altceva
aruncat Variabila „Num” este setată ”
fi
# Atribuiți o valoare
pe unu=douăzeci
# Verificați dacă variabila este setată sau nu după atribuirea valorii
dacă [ -Cu $ {Num} ];atunci
aruncat Variabila 'Num' nu este setată '
altceva
aruncat '' Num este setat și valoarea Num =$ num'
fi

Rulați scriptul.



$bashcheckvar1.sh

Exemplu-2: Verificați dacă variabila este setată sau anulată utilizând înlocuitorul parametrilor

Creați un fișier bash numit check_var2.sh și adăugați următorul script. Aici, o valoare șir este atribuită variabilei, $ str înainte de a verifica dacă variabila este setată sau anulată. Condiția „dacă” va reveni adevărată și mesajul, Variabila 'str' este setată, iar valoarea este Hello va imprima.

check_var2.sh

#! / bin / bash
#Setați variabila
str= Bună ziua
#Atribuiți valoarea World to checkval dacă este setată variabila str
checkval=$ {str + World}
# Verificați dacă variabila este setată sau anulată
dacă [ $ checkval -eqLume];atunci
aruncat Variabila „str” este setată și valoarea este$str'
altceva
aruncat „Variabila„ str ”nu este setată”
fi

Rulați scriptul.

$bashcheckvar2.sh

Exemplul-3: Verificați dacă variabila este goală sau nu

Creați un fișier bash numit check_var3.sh și adăugați următorul script. Scriptul va stoca primul argument din linia de comandă într-o variabilă, $ argv care este testat în următoarea afirmație. Ieșirea va fi Primul argument este gol dacă nu este trecut niciun argument, altfel va fi tipărită valoarea primului argument.

check_var3.sh

#! / bin / sh
#Citiți prima valoare a argumentului din linia de comandă
argv=„1 $”
# Verificați dacă este furnizată sau nu valoarea primului argument
[ -v '$ argv' ] && aruncat „Primul argument este gol” ||
aruncat „Valoarea primului argument este$ argv'

Rulați scriptul fără niciun argument.

$bashcheckvar3.sh

Rulați scriptul cu un argument.

$bashcheckvar3.shTest

Concluzie

Diferite moduri de verificare a variabilei sunt setate sau nesetate sau goale sunt prezentate în acest tutorial folosind diverse exemple. Sper că acest tutorial îi va ajuta pe utilizatori să învețe modalitățile de testare a oricărei variabile bash.