Tecnología

Inicio

Como prueba de Null Unix script

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 hacer esto. En otros idiomas, las variables que contienen cosas como "" normalmente se clasifican como nula no en el caso de la shell de Unix, ya que se interpretan de manera diferente. Tener valores nulos en variables es a menudo un indicador útil de los problemas que se producen en una secuencia de comandos cuando los valores no se asignan automáticamente como se esperaba. Cuando esto ocurre, se pueden tomar medidas y problemas rectificado o el script puede tomar una ruta totalmente diferente para resolver el problema.

Instrucciones

1 Asegúrese de que la variable de prueba no se establece en ninguna parte. Una manera sencilla de hacer esto es para probar una variable que no ha sido asignado a un valor antes de la prueba, por no inicializar la variable tal como var = "". En este ejemplo, "" se clasificarían como una cadena (no realmente longitud cero) y sería interpretado como un valor en shell script.

2 Probar la variable de longitud cero utilizando la sintaxis del shell de Unix estándar que (en la versión de shell Bourne) es:

if [-z "$ var"]

entonces

# other commands ...

fi

Esto significa que si la variable "$ var" no tiene una longitud, que es un valor nulo. Acción, entonces puede tomarse sobre la base de la prueba en la cuenta "y luego" que sigue.

3 Probar una variable para un valor nulo, y si no contiene un valor, asignar uno en un solo comando. Esto se puede lograr mediante el uso de un comando shell especial como sigue:

varisnullornot = $ {var: -null}

En este caso, el "varisnullornot" variable se le asigna el valor contenido en el "var" variable si tiene un valor. Si no tiene un valor, entonces el "varisnullornot" variable será asignada la palabra "NULO", que luego pueden ser ensayó como sigue:

if [ "$ varisnullornot" = "NULL"]

entonces

echo "Var is a null variable"

más

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

fi

Consejos y advertencias

  • El comando "prueba" varía según diferentes cáscara, como la cáscara de Bourne, kshell, cShell y otros. Por favor consulte la página del manual de la versión escribiendo "prueba de hombre" en la línea de comandos de la shell que esté utilizando.