Una variabile viene spesso definita una casella contenente un nome e il contenuto. Un semplice comando, ad esempio 'echo Hello $Var_Name' stamperà 'Ciao...il valore della variabile come definito'. Bash non stamperà nulla se la casella è vuota o non creata. Ecco perché è importante assicurarsi che una variabile sia impostata correttamente o meno durante la creazione di uno script bash.
Le variabili possono essere classificate in due parti:
Le variabili create o inizializzate correttamente sono note come variabili definite. Questi possono avere valore zero o una stringa vuota.
Le variabili che non vengono mai create o inizializzate sono note come variabili non definite.
Per verificare se una variabile è impostata o meno in Bash Scripting, possiamo usare -v var oppure -z ${var} opzioni come espressione con la combinazione del comando condizionale 'if'.
Sintassi
Di seguito sono riportate le sintassi dell'espressione booleana che può essere utilizzata per verificare se la variabile è impostata:
[[ -v Variable_Name ]] [[ -z Variable_Name ]]
L'espressione booleana restituisce 'True' se la variabile è impostata e 'False' se la variabile non è impostata.
differenza tra due stringhe di Python
Di seguito sono riportati gli esempi per verificare se una variabile è impostata o meno:
Utilizzando l'opzione -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
Produzione
Qui, la variabile 'A' è definita e le viene assegnato il valore 100 e quindi è considerata come 'variabile impostata'. Per la variabile 'B' non abbiamo definito né assegnato alcun valore. Di conseguenza, la variabile 'B' non è considerata come 'variabile impostata'.
Utilizzando l'opzione -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
Produzione
Nota:C'è una differenza tra una variabile non impostata e una variabile con un valore nullo.
Dai un'occhiata al seguente esempio che dimostra che la variabile con un valore nullo può essere una variabile impostata.
Esempio
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
Produzione
Questi sono i metodi comunemente usati che possono essere utilizzati per verificare se una variabile è impostata o meno.
array dinamico Java