문자열이 공백도 비어 있지 않은지 확인해야하는 다음 셸 스크립트를 실행하려고합니다. 그러나 언급 된 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