Estoy tratando de ejecutar el siguiente script de shell que se supone que verifica si una cadena no tiene espacio ni está vacía. Sin embargo, obtengo el mismo resultado para las 3 cadenas mencionadas. También he intentado utilizar la sintaxis "[[", pero fue en vano.
Aquí está mi código:
str="Hello World"
str2=" "
str3=""
if [ ! -z "$str" -a "$str"!=" " ]; then
echo "Str is not null or space"
fi
if [ ! -z "$str2" -a "$str2"!=" " ]; then
echo "Str2 is not null or space"
fi
if [ ! -z "$str3" -a "$str3"!=" " ]; then
echo "Str3 is not null or space"
fi
Obtengo el siguiente resultado:
# ./checkCond.sh
Str is not null or space
Str2 is not null or space