ฉันกำลังพยายามรันเชลล์สคริปต์ต่อไปนี้ซึ่งควรจะตรวจสอบว่าสตริงไม่มีช่องว่างหรือว่างเปล่า อย่างไรก็ตามฉันได้รับเอาต์พุตเดียวกันสำหรับทั้ง 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