我无法理解为什么这个简单的if
语句检查字符串是否为空无效。它给了我:
语法错误接近意外令牌`然后'
#!/bin/bash
str="Hello World!"
if[ ! -z "$str"]; then
echo "str is not empty"
fi
我在我的电脑和online editor上尝试了它,但它显示了同样的问题。有什么想法吗?
答案 0 :(得分:3)
#!/bin/bash
str="Hello World!"
if [ ! -z "$str" ]; then
echo "str is not empty"
fi
也许, 在“if”语句后插入空格。 并且,在“]”之前。
答案 1 :(得分:1)
[[ ]]
优于[ ]
:
#!/bin/bash
str="Hello World!"
if [[ ! -z $str ]]; then
echo "str is not empty"
fi
缩短形式:
#!/bin/bash
str="Hello World!"
[[ ! -z $str ]] && echo "str is not empty"