如何实现空验证

时间:2019-04-01 06:35:24

标签: bash shell unix

set temp = "sunny45"

if [ - z $temp ]; then echo "empty" ; else echo "not empty" ; fi

当我在unix终端上尝试此代码时,上面的代码给出了以下错误

如果:表达式语法。

请建议我应该从文件中获取任何东西,以及该代码的文件名应该为什么。

2 个答案:

答案 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