Gli script di shell sono un modo potente di manipolazione di dati e comandi all'interno del sistema operativo Unix . Variabili nulle sono difficili da provare , se non si conosce il modo corretto di fare questo . In altre lingue , le variabili che contengono le cose come " " normalmente classificato come nullo non sono nel caso della shell Unix come vengono interpretate in modo diverso . Avere valori nulli nelle variabili è spesso un utile indicatore di problemi che si verificano in uno script quando i valori non vengono assegnati automaticamente come previsto. Quando ciò si verifica si può intervenire e problemi eliminata o lo script può prendere un percorso completamente diverso per risolvere il problema . Istruzioni
1
Assicurarsi che la variabile di test non è impostato nulla . Un modo semplice per fare questo è quello di testare una variabile che non è stato assegnato ad un valore prima della prova , da non inizializzazione della variabile come var = " " . In questo esempio "," potrebbe essere classificato come una stringa ( non effettivamente lunghezza zero) e verrebbe interpretato come un valore in script di shell .
2
prova la variabile di lunghezza zero usando la shell standard Unix sintassi che ( nella versione Bourne shell) è :
if [ - z " $ var " ]
poi
# altri comandi ...
< p > fi
Questo significa che se la variabile " $ var " non ha una lunghezza , è un valore nullo . L'azione può quindi essere presa in base alla prova nella dichiarazione " poi" che segue .
3
prova una variabile per un valore nullo , e se esso non contiene un valore , assegnare un in un unico comando . Ciò può essere ottenuto utilizzando un comando speciale di shell come segue :
varisnullornot = $ {var : - NULL }
In questo caso la variabile " varisnullornot " verrà assegnato il valore contenuto nella variabile "var " se ha un valore . Se non ha un valore , allora la variabile " varisnullornot " verrà assegnato alla parola " NULL ", che possono poi essere sottoposti alla seguente prova :
if [" $ varisnullornot " = " NULL " ]
poi
echo " Var è una variabile null"
else
echo " \\ " varisnullornot \\ " ", viene assegnato il valore contenuto in \\ "var \\ " "
fi