文字列がスペースでも空でもないかどうかを確認する次のシェルスクリプトを実行しようとしています。ただし、上記の 3 つの文字列すべてに対して同じ出力が得られます。「[[」構文も使用してみましたが、役に立ちませんでした。
これが私のコードです:
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
次の出力が得られます。
# ./checkCond.sh
Str is not null or space
Str2 is not null or space