在执行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
原文:https://www.cnblogs.com/xinhua219/p/9285899.html