Nwlapcug.com


Come testare Script Unix Null

Gli script di Shell sono un potente modo di manipolare dati e comandi all'interno del sistema operativo Unix. Le variabili null sono difficili da testare, a meno che non si conosce il modo corretto di fare questo. In altre lingue, variabili che contengono cose come "" normalmente classificati come null sono non nel caso di shell Unix come essi vengono interpretati in modo diverso. Avendo valori null nelle variabili è spesso un indicatore utile di problemi che si verificano in uno script quando i valori non vengono assegnati automaticamente come previsto. In questo caso può intervenire e problemi risolti o lo script può prendere un percorso completamente diverso per risolvere il problema.

Istruzioni

1

Verificare che la variabile per testare non è impostata su nulla. Un modo semplice per farlo è quello di verificare una variabile che non è stata assegnata un valore prima della prova, non inizializzando la variabile ad esempio var = "". In questo esempio, "" sarebbe classificato come una stringa (lunghezza non effettivamente zero) e verrebbe interpretato come un valore in script di shell.

2

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

Se [- z "$var"]

quindi

# other commands ...

Fi

Questo significa che se la variabile "$var" non dispone di una lunghezza, è un valore null. Può quindi agire basato sul test nell'istruzione "quindi" che segue.

3

Eseguire il test una variabile per un valore null e se non contiene un valore, assegnare uno in un unico comando. Ciò può essere ottenuto utilizzando un comando della shell speciali 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 alla variabile "varisnullornot" verrà assegnata la parola "NULL", che poi può essere testato come segue:

Se ["$varisnullornot"="NULL"]

quindi

echo "Var is a null variable"

altro

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

Fi

Consigli & Avvertenze

  • Il comando "test" varia dalle coperture differenti, compreso la Bourne shell, Kshell, Cshell e altri. Si prega di consultare la pagina man della tua versione digitando "man test" nella riga di comando della shell che si sta utilizzando.