Come verificare che la variabile sia impostata o vuota in bash

How Check Variable Is Set



Una variabile può essere definita o non definita. Quando una variabile non è dichiarata o dichiarata ma non viene assegnato alcun valore, la variabile non è impostata o non è definita. Quando una variabile viene dichiarata e assegnata a un valore, la variabile viene impostata. Molte volte è necessario sapere che la particolare variabile è impostata o meno ai fini della programmazione. Uno degli scopi importanti del controllo che la variabile sia impostata o meno è la convalida dei dati. Bash non ha una funzione integrata come altri linguaggi di programmazione standard per verificare che una variabile sia impostata o meno. Ma bash ha una funzione per svolgere questo compito. Come puoi verificare che la variabile sia impostata o meno in bash è mostrato in questo tutorial.

Sintassi:







[[ -vvariabile]]o[[ -Insieme avariabile]]

L'opzione '-v' o '-z' viene utilizzata per verificare che la variabile sia impostata o meno. L'espressione booleana precedente restituirà true se la variabile è impostata e restituisce false se la variabile non è impostata o è vuota.



${variabile+stringa}

La sostituzione del parametro è un altro modo per verificare che la variabile sia impostata o meno. Se la variabile è impostata, verrà restituito il valore della stringa, altrimenti verrà restituito null.



Esempio 1: verificare che la variabile sia impostata o disattivata utilizzando l'opzione '-z'

Crea un file bash chiamato check_var1.sh con il seguente script. Qui, il primo ` se` condizione restituirà true e La variabile Num non è impostata stamperà. Nella prossima istruzione, 20 è assegnato alla variabile, $num . La seconda condizione `if` restituirà false e Num è impostato e il valore di Num=20 stamperà.





check_var1.sh

#!/bin/bash
#Verifica che la variabile sia impostata o meno
Se [ -Insieme a ${Num} ];poi
buttato fuori 'La variabile 'Num' non è impostata'
altro
buttato fuori 'La variabile 'Num' è impostata'
essere
#Assegna un valore
nessuno=venti
#Verifica che la variabile sia impostata o meno dopo aver assegnato il valore
Se [ -Insieme a ${Num} ];poi
buttato fuori ''Num' variabile non impostata'
altro
buttato fuori ''Num è impostato e il valore di Num=$num'
essere

Esegui lo script.



$bashcheckvar1.sh

Esempio 2: verificare che la variabile sia impostata o disattivata utilizzando la sostituzione del parametro

Crea un file bash chiamato check_var2.sh e aggiungi il seguente script. Qui viene assegnato un valore stringa alla variabile, $str prima di verificare che la variabile sia impostata o meno. La condizione 'if' restituirà true e il messaggio, La variabile 'str' è impostata e il valore è Hello stamperà.

check_var2.sh

#!/bin/bash
#Imposta la variabile
P=Ciao
#Assegna il valore World a checkval se la variabile str è impostata
checkval=${str+Mondo}
#Verifica che la variabile sia impostata o non impostata
Se [ $checkval -eqMondo];poi
buttato fuori La variabile ''str' è impostata e il valore è$ str'
altro
buttato fuori ''La variabile str' non è impostata'
essere

Esegui lo script.

$bashcheckvar2.sh

Esempio 3: verifica che la variabile sia vuota o meno

Crea un file bash chiamato check_var3.sh e aggiungi il seguente script. Lo script memorizzerà il primo argomento della riga di comando in una variabile, $argv che viene testato nella prossima dichiarazione. L'output sarà Il primo argomento è vuoto se non viene passato nessun argomento altrimenti verrà stampato il valore del primo argomento.

check_var3.sh

#!/bin/sh
#Leggi il primo valore dell'argomento della riga di comando
argv='$ 1'
#Controlla che il valore del primo argomento sia fornito o meno
[ -v '$argv' ] && buttato fuori 'Il primo argomento è vuoto' ||
buttato fuori 'Il valore del primo argomento è$argv'

Esegui lo script senza alcun argomento.

$bashcheckvar3.sh

Esegui lo script con un argomento.

$bashcheckvar3.shtest

Conclusione

In questo tutorial vengono mostrati diversi modi per verificare che la variabile sia impostata, non impostata o vuota, utilizzando vari esempi. Spero che questo tutorial aiuterà gli utenti a imparare i modi per testare qualsiasi variabile bash.