Come verificare Null Unix Script

June 15

Gli script di shell sono un potente mezzo per manipolare i dati e comandi all'interno del sistema operativo Unix. variabili Null sono difficili da provare, se non si conosce il modo corretto di fare questo. In altre lingue, variabili contenenti le cose come "" normalmente classificato come null sono non nel caso della shell Unix come vengono interpretati 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. In questo caso si può intervenire e problemi rettificato o lo script può prendere un percorso completamente diverso per risolvere il problema.

istruzione

1 Assicurarsi che la variabile di test non è impostato su nulla. Un modo semplice per fare questo è quello di testare una variabile che non è stato assegnato ad un valore prima della prova, non inizializzare la variabile come var = "". In questo esempio "," potrebbe essere classificato come una stringa (in realtà non lunghezza zero) e sarebbe stata interpretata come un valore in script di shell.

2 Testare la variabile per lunghezza zero utilizzando la sintassi shell Unix standard che (nella versione Bourne shell) è:

if [-z "$ var"]

poi

# other commands ...

fi

Ciò significa che se la variabile "$ var" non ha una lunghezza, è un valore nullo. L'azione può quindi essere presa in base al test del "poi" istruzione che segue.

3 Test di una variabile per un valore nullo, e se non contiene un valore, assegnare uno in un unico comando. Ciò può essere ottenuto utilizzando un comando speciale shell come segue:

varisnullornot = $ {var: -null}

In questo caso la variabile "varisnullornot" viene assegnato il valore contenuto nel "var" variabile se ha un valore. Se non ha un valore allora il "varisnullornot" variabile viene assegnato il termine "NULL", che può quindi essere testata come segue:

if [ "$ varisnullornot" = "NULL"]

poi

echo "Var is a null variable"

altro

echo "\"varisnullornot\"" is assigned the value contained in \"var\""

fi

Consigli e avvertenze

  • Il comando "test" varia da shell diversa, tra cui la Bourne shell, kshell, Cshell e altri. Si prega di consultare la pagina di manuale della versione digitando "test di uomo" nella riga di comando della shell che si sta utilizzando.