一、一个字符串比较脚本,str为空
#!/bin/bash
if [ $str = denglin ];then
echo "OK"
else
echo "not OK"
fi
二、运行该脚本
./test.sh: line 3: [: =: unary operator expected
not OK
三、错误原因
变量str值为空,那么就成了 [ = denglin] ,显然 [ 和 denglin 不相等并且缺少了 [ 符号,所以报了这样的错误。
四、修改代码
#!/bin/bash
str=denglin #"="中间不能有空格
if [ $str = denglin ];then #"="号中间一定要有空格
echo "OK"
else
echo "not OK"
fi