shell脚本执行报错[: 0: unary operator expected

Posted huhuahope

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell脚本执行报错[: 0: unary operator expected相关的知识,希望对你有一定的参考价值。

在执行shell脚本,if判断语句报错

#!/bin/bash

if [ 0 == $testNum ]
then
    echo "Check Result:0"
fi

  

testNum使用时没有定义,无赋值是空(原本是有定义的,只是笔误写错类似tsetNum了),执行转换后实际为

if [ 0 ==  ]

不相等,且少[符号错误;规避如下

#!/bin/bash

if [[ 0 == $testNum ]]
then
    echo "Check Result:0"
fi

 使用“[[ ]]”进行判断;或者添加一个字符

#!/bin/bash

if [ "0"x == "$testNumx"x ]
then
    echo "Check Result:0"
fi

  

其实,针对我所犯的错误,当然还是使用“[]”普通判断为好了,可以检查错误;但是这种实现多是用来判断查询的值或者其他条件赋予的值是否满足条件,存在为空是正常的场景,所以要完善自己代码。

详细含义待补充  

以上是关于shell脚本执行报错[: 0: unary operator expected的主要内容,如果未能解决你的问题,请参考以下文章

shell脚本中 unary operator expected解决办法

unary operator expected

shell 判断脚本执行是否成功 if [ $? -ne 0 ]

shell脚本执行source报错

shell脚本编写中同样命令直接执行正确,脚本执行报错

shell脚本报错