Los shell scripts son una poderosa manera de manipular los datos y comandos en el sistema operativo Unix . Las variables nulos son difíciles de probar , a menos que sepa la manera correcta de hacerlo. En otros idiomas , las variables que contienen cosas como " " normalmente clasificado como nulo no se encuentran en el caso de la shell de Unix , ya que se interpretan de manera diferente . Tener valores nulos en las variables es a menudo un indicador útil de los problemas que ocurren en una secuencia de comandos cuando los valores no se asignan automáticamente como se esperaba . Cuando esto ocurre se pueden tomar medidas y los problemas de rectificación, o la secuencia de comandos se puede tomar una ruta completamente diferente para resolver el problema. Instrucciones
1
Asegúrese de que la variable de prueba no se ajusta en nada. Una manera sencilla de hacer esto es para probar una variable que no ha sido asignado a un valor antes de la prueba , al no inicializar la variable como var = " " . En este ejemplo, " " podría ser clasificada como una cadena ( en realidad no la longitud cero) y se interpreta como un valor en el script de shell.
2
prueba la variable de longitud cero utilizando el shell estándar Unix sintaxis que (en la versión de Bourne shell) es:
if [- z "$ var " ]
entonces
# otros comandos ...
fi
Esto significa que si la variable "$ var " no tiene una longitud , es un valor nulo. Acción puede ser tomada en base a la prueba de la cuenta "y luego" que sigue.
3
prueba una variable por un valor nulo, y si no contiene un valor , asigne una en un solo comando. Esto se puede lograr mediante el uso de un comando especial shell de la siguiente manera :
varisnullornot = $ { var : - NULL }
En este caso la variable " varisnullornot " se le asignará el valor contenido en el variable " var " si tiene un valor. Si no tiene un valor, entonces se le asignará el " varisnullornot " variable de la palabra "NULL ", que se puede probar de la siguiente manera :
if [" $ varisnullornot " = "NULL "]
entonces
echo " var es una variable nula"
else echo " \\ " varisnullornot \\ "" se le asigna el valor contenido en \\ "var \\ " "
fi