博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
shell脚本报错:"[: =: unary operator expected"
阅读量:5122 次
发布时间:2019-06-13

本文共 594 字,大约阅读时间需要 1 分钟。

shell脚本报错:"[: =: unary operator expected"

    在匹配字符串相等时,我用了类似这样的语句:

if [ $STATUS == "OK" ]; then     

echo "OK"

fi

    在运行时出现了 [: =: unary operator expected 的错误,就一直找不到原因,尝试了删除等号两侧的空格和括号里的空格都不管用,最后baidu了一下,才找到原因。把语句改成这样就不会出错了.

if [[ $STATUS = "OK" ]]; 

then     

echo "OK"

fi

    究其原因,是因为如果变量STATUS值为空,那么就成了 [ = "OK"] ,显然 [ 和 "OK" 不相等并且缺少了 [ 符号,所以报了这样的错误。当然不总是出错,如果变量STATUS值不为空,程序就正常了,所以这样的错误还是很隐蔽的。

    或者用下面的方法也能避免这种错 误:if [ "$STATUS"x == "OK"x ]; then     echo

"OK"fi。当然,x也可以是其他字符。顺便提一点,shell中有没有双引号在很多情况下是一致的。

 

http://blog.csdn.net/goodlixueyong/article/details/6564591

转载于:https://www.cnblogs.com/liujx2019/p/10310039.html

你可能感兴趣的文章
VMware Tools安装
查看>>
Linux上架设boost的安装及配置过程
查看>>
[转载]加密算法库Crypto——nodejs中间件系列
查看>>
zoj 2286 Sum of Divisors
查看>>
OO5~7次作业总结
查看>>
使用Xshell密钥认证机制远程登录Linux
查看>>
OpenCV之响应鼠标(三):响应鼠标信息
查看>>
Android 画图之 Matrix(一)
查看>>
List<T>列表通用过滤模块设计
查看>>
【模板】最小生成树
查看>>
设计模式之结构型模式
查看>>
poj2569
查看>>
使用pygal_maps_world.i18n中数据画各大洲地图
查看>>
sql server必知多种日期函数时间格式转换
查看>>
jQuery EasyUI 的下拉选择combobox后台动态赋值
查看>>
timeline时间轴进度“群英荟萃”
查看>>
python if else elif statement
查看>>
网络编程
查看>>
文本隐藏(图片代替文字)
查看>>
java面试题
查看>>