traduccion - shell usa
La variable de script de shell no está vacía(opción-z) (3)
¿Cómo asegurarse de que una variable no esté vacía con la opción -z
?
errorstatus="notnull"
if [ !-z $errorstatus ]
then
echo "string is not null"
fi
Devuelve el error:
./test: line 2: [: !-z: unary operator expected
¿Por qué usarías -z? Para probar si una cadena no está vacía, normalmente utiliza -n:
if test -n "$errorstatus"; then echo errorstatus is not empty fi
Claro que lo hace. Después de reemplazar la variable, lee [ !-z ]
, que no es un [
comando válido. Utilice comillas dobles, o [[
.
if [ ! -z "$errorstatus" ]
if [[ ! -z $errorstatus ]]
Creo que esta es la sintaxis que estás buscando:
if [ -z != $errorstatus ]
then
commands
else
commands
fi