Sovint s'anomena una variable com una caixa que conté un nom i el contingut. Una ordre senzilla, per exemple, 'echo Hello $Var_Name' imprimirà 'Hola... el valor de la variable tal com es defineix'. Bash no imprimirà res si el quadre està buit o no s'ha creat. És per això que és important assegurar-se si una variable està configurada correctament o no mentre es crea un script bash.
Les variables es poden classificar en dues parts:
Les variables creades o inicialitzades correctament es coneixen com a variables definides. Aquests poden tenir un valor zero o una cadena buida.
Les variables que mai es creen o inicialitzen, es coneixen com a variables no definides.
Per confirmar si una variable està establerta o no a Bash Scripting, podem utilitzar -v var o -z ${var} opcions com una expressió amb la combinació de l'ordre condicional 'si'.
Sintaxi
A continuació es mostren les sintaxis de l'expressió booleana que es poden utilitzar per comprovar si la variable està establerta:
[[ -v Variable_Name ]] [[ -z Variable_Name ]]
L'expressió booleana retorna 'True' si la variable està establerta i 'False' si la variable no està establerta.
np std
A continuació es mostren els exemples per comprovar si una variable està establerta o no:
Utilitzant l'opció -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
Sortida
Aquí, la variable 'A' es defineix i s'assigna un valor de 100 i, per tant, es considera 'variable conjunta'. Per a la variable 'B', no hem definit ni assignat cap valor. Com a resultat, la variable 'B' no es considera com a 'variable conjunta'.
Utilitzant l'opció -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
Sortida
Nota:Hi ha una diferència entre una variable sense definir i una variable amb un valor nul.
Consulteu l'exemple següent que demostra que la variable amb un valor nul pot ser una variable establerta.
Exemple
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
Sortida
Aquests són els mètodes d'ús habitual que es poden utilitzar per comprovar si una variable està establerta o no.
operador de resta de python