linux 简单脚本fi报错,shell脚本报错:[: =: unary operator expected
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中有没有双引号在很多情况下是一致的。
Shell脚本报错unary operator expected
在匹配字符串时用了类似这样的语句 if[ $timeofday = "yes"]; then echo "Good morning" exit 0 报错的原因是 ...
Linux shell 脚本报错:/bin/bash^M: bad interpreter: No such file or directory
今天遇到一个很诡异的问题,一直运行很正常的shell脚本失败了,只是昨天增加了一个参数而已. 报错信息: /bin/bash^M: bad interpreter: No such file or d ...
CRLF line terminators导致shell脚本报错:command not found
Linux和Windows文本文件的行结束标志不同.在Linux中,文本文件用"/n"表示回车换行,而Windows用"/r/n"表示回车换行.有时候在Wind ...
CRLF line terminators导致shell脚本报错:command not found --转载
Linux和Windows文本文件的行结束标志不同.在Linux中,文本文件用"/n"表示回车换行,而Windows用"/r/n"表示回车换行.有时候在Wind ...
centos6环境远程执行shell脚本报错not a valid identifier的问题处理
# 通过jenkins的apache用户rsync同步php代码到远程服务器报错如下: SSH: EXEC: STDOUT/STDERR from command [/bin/sh /usr/loca ...
shell脚本报错:syntax error: unexpected end of file
解决办法1: vi test.sh :set fileformat=unix :wq 解决办法2: yum install dos2unix dos2unix my.sh 原因剖析: DOS下文件和L ...
随机推荐
servlet基本原理(手动创建动态资源+工具开发动态资源)
一.手动开发动态资源 1 静态资源和动态资源的区别 静态资源: 当用户多次访问这个资源,资源的源代码永远不会改变的资源. 动态资源:当用户多次访问这个资源,资源的源代码可能会发送改变.
模拟jquery
...
Assetbundle的杂七杂八
使用Assetbundle时可能遇到的坑 一 24 十一郎未分类 No Comments 转自 http://www.unitymanual.com/blog-3571-132.html 1.Edit ...
【填坑纪事】一次用System.nanoTime()填坑System.currentTimeMills()的实例记录
JDK提供了两个方法,System.currentTimeMillis()和System.nanoTime(),这两个方法都可以用来获取表征当前时间的数值.但是如果不仔细辨别这两个方法的差别和联系,在 ...
SpringBoot系列: 设计Restful风格的API
RESTful 架构REST 并非一种技术或规范, 而是一种架构风格, 如果一个架构符合Rest的约束条件和原则, 就可以称作是 RESTful 架构. REST全称是Representational ...
SystemC_Basic
1.http://baike.baidu.com/view/1018980.htm 百度百科介绍的很好,举例很清晰. 2.SystemC的三个基本进程:SC_METHOD,SC_THREAD,SC_C ...
Thinkphp5笔记五:配置data文件夹
如果你看项目下的各种文件,有种乱七八糟的感觉的话,你就可以进行以下配置. 配置data文件夹的,整理各种文件,让看起来舒服些. 一.设置runtime文件夹 index.php define('RUN ...
C++ 设计模式 —— 訪问者(Visitor)
訪问者设计模式的实现借助于两个继承体系, (1)elements:一个是被操作的类(基类及其子类) (2)visitors:一个定义了一系列操作的訪问者(基类及其子类) 訪问者模式是一种行为型设计模式 ...
OneDrive网页版打不开的解决办法
发现OneDrive文件被误删了,想去网页版找回历史文件,发现网页版无法打开,而客户端是可以正常使用的,于是猜测是域名指向的主IP被封了,于是想通过客户端的IP访问 第一步,WireShark抓包 第 ...
L2-014. 列车调度(set的使用,最长递增子序列)
L2-014. 列车调度 时间限制 300 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 火车站的列车调度铁轨的结构如下图所示. Figure ...
linux 简单脚本fi报错,shell脚本报错:[: =: unary operator expected相关推荐
- 运行shell脚本报错:“syntax error near unexpected token 的解决方法”
运行shell脚本报错:"syntax error near unexpected token 的解决方法" 今天写了个Cshell脚本,运行报错syntax error near ...
- shell脚本报错:[: =: unary operator expected
shell脚本报错:"[:=:unaryoperatorexpected" 在匹配字符串相等时,我用了类似这样的语句: if [ $STATUS == "OK" ...
- shell脚本报错:“[: =: unary operator expected“解决办法
在匹配字符串相等时,我用了类似这样的语句: if [ $STATUS == "OK" ]; then echo "OK"fi 在运行时出现了 [: =: una ...
- CRLF line terminators导致shell脚本报错:command not found
Linux和Windows文本文件的行结束标志不同.在Linux中,文本文 件用"/n"表示回车换行,而Windows用"/r/n"表示回车换行.有时候在Win ...
- CRLF line terminators导致shell脚本报错:command not found --转载
Linux和Windows文本文件的行结束标志不同.在Linux中,文本文件用"/n"表示回车换行,而Windows用"/r/n"表示回车换行.有时候在Wind ...
- linux的shell脚本报错“syntax error near unexpected token `”的解决
今天写了一个shell脚本,老报错检查了一下基本的语法并没有发现错误.后来经过百度解决掉了,现总结如下. 错误现象:执行shell脚本,老报错"syntax error near unexp ...
- Linux shell 脚本报错:/bin/bash^M: bad interpreter: No such file or directory
今天遇到一个很诡异的问题,一直运行很正常的shell脚本失败了,只是昨天增加了一个参数而已. 报错信息: /bin/bash^M: bad interpreter: No such file or d ...
- 运行shell脚本报错:“syntax error near unexpected token fi 的解决方法
用vim打开文件,在命令行模式下输入 :set ff 发现出来的是dos fileformat=dos 现在通过命令:set ff=unix设置我们的代码模式 set ff = unix 然后保存代码 ...
- shell脚本报错:-bash: xxx: /bin/sh^M: bad interpreter: No such file or directory
今天写了一个shell脚本,然后在执行的时候报错,脚本内容很简单,仅供测试: Shell代码 #!/bin/sh echo "test shell " 具体报错信息如下: Sh ...
最新文章
- 关于OC的内存管理-01
- 03-CA/TA编程:aes_auth demo
- Fiddler之断点调试(模拟器)
- github 公钥 私钥_搭建自己的技术博客系列 2:把 Hexo 博客部署到 GitHub 上
- 世界末日倒计时 js代码
- python英寸换成厘米代码_Python的新手-尝试将厘米编码为英寸,反之亦...
- 随机生成大小为100的范围是100-1000的不重复的数组
- ORA-01830: date format picture ends before converting entire input string的几种原因
- 2003年第三批全国名老中医
- 分布式算法---gossip 协议
- 如何根据SIM卡背面的10位序列号判断运营商,国家,地区,卡商
- 项目管理100问 | NO.6 如何为项目制定里程碑?
- 《夏风》刊发的几组诗词
- matlab常用函数汇总
- 基于go实现简单的计算自资源监控
- debug protractor
- Oracle在采购部增加一名员工,ORACLEEBS采购功能点操作手册1.doc
- mac常用快捷键--在摸爬滚打中熟练
- 华为CaaS开放平台产品宣传片
- ORBSLAM3的IMU积分求解过程