set temp = "sunny45"
if [ - z $temp ]; then echo "empty" ; else echo "not empty" ; fi
当我在unix终端上尝试此代码时,上面的代码给出了以下错误
如果:表达式语法。
请建议我应该从文件中获取任何东西,以及该代码的文件名应该为什么。
答案 0 :(得分:1)
在等号周围并在-
和z
之间打上空格,然后将变量用双引号引起来:
temp="sunny45"
if [ -z "$temp" ]; then echo "empty" ; else echo "not empty" ; fi
答案 1 :(得分:1)
您有多个语法错误。寻求人工帮助之前,请尝试使用http://shellcheck.net/。
set
将不会设置常规变量。我猜你要
temp="sunny45"
需要确保等号两边没有空格的地方。
测试中的-z
同样需要是单个令牌,并且没有内部空格。您还需要quote the variable。
if [ -z "$temp" ]; then