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 ...

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/468169.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux背后的思想

01Linus TorvaldsLinus Torvalds两次改变了技术,第一次是Linux内核,它帮助互联网的发展;第二次是Git,全球开发者使用的源代码管理系统。在一次TED的采访中,Torvalds以极其开放的态度讨论了他独特的工作方式和性格特点。…

【HDOJ 3652】B-number

【HDOJ 3652】B-number 给一整数n 找<n的整数中能被13整除且含有13的 数位dp 记忆化&#xff01;。 一入记忆化深似海。。。再也不想用递推了。。。发现真的非常好想 仅仅要保证满足条件把未选高位(即能任意挑数的)记录下来 不断搜索递归即可 代码例如以下: #include <i…

linux执行sh提示非标准环境,Linux执行.sh文件时提示No such file or directory该怎么办(三种解决办法)...

先给大家看下问题描述&#xff0c;下图是我在运行时出现错误截图&#xff1a;解决方法分析原因&#xff0c;可能因为我平台迁移碰到权限问题我们来进行权限转换1)在Windows下转换&#xff1a;利用一些编辑器如UltraEdit或EditPlus等工具先将脚本编码转换&#xff0c;再放到Linu…

你应该知道Linux内核softirq

说起这个softirq &#xff0c;很多人还是一头雾水&#xff0c;觉得这个是什么东西&#xff0c;跟tasklets 和 workqueue有什么不同。每次谈到这个&#xff0c;很多人&#xff0c;包括我&#xff0c;都是有点紧张&#xff0c;特别是面试的时候&#xff0c;因为你一旦说错了什么&…

linux 查看磁盘分区,文件系统,使用情况的命令和相关工具介绍,Linux 查看磁盘分区、文件系统、使用情况的命令和相关工具介绍...

Linux 查看磁盘分区、文件系统、使用情况的命令和相关工具介绍作者&#xff1a;北南南北来自&#xff1a;http://doc.xuehai.net提要&#xff1a;Linux 磁盘分区表、文件系统的查看、统计的工具很多&#xff0c;有些工具是多功能的&#xff0c;不仅仅是查看磁盘的分区表&#x…

Java部分面试题

一、Vector和ArrayList的区别1&#xff0c;vector是线程同步的&#xff0c;所以它也是线程安全的&#xff0c;而arraylist是线程异步的&#xff0c;是不安全的。如果不考虑到线程的安全因素&#xff0c;一般用arraylist效率比较高。2&#xff0c;如果集合中的元素的数目大于目前…

C语言,链表

定义一个链表的节点之前说到树&#xff0c;里面也有一个节点&#xff0c;节点是用来存数据的&#xff0c;不管是树还是其他什么数据结构&#xff0c;最终的目的都是用来处理数据的&#xff0c;所以节点里面包含两个东西&#xff0c;一个是指针&#xff0c;指针可以指向其他位置…

linux hosts文件如何修改_3 种方法教你在 Linux 中修改打开文件数量限制

当文件被打开访问时&#xff0c;操作系统临时分配一个名为文件句柄的数字。主内存的一个特殊区域是为文件句柄预留的&#xff0c;这个区域的大小决定了一次可以打开多少个文件。Linux上的进程受到许多限制&#xff0c;这些限制也阻碍它们正确地执行&#xff0c;而且每个进程都有…

数据库基本查询语句

select基本查询语句 使用oracle中scott用户中的表进行的基本查询语句 select * from emp;--列出职位为MANAGER的员工的编号&#xff0c;姓名--select empno,ename from emp where job MANAGER;--like模糊查询我也不懂SELECT * FROM EMP WHERE ENAME LIKE%*_%ESCAPE*;--找出奖金…

linux数字雨代码解释,linux提权 漏洞合集 linux-kernel-exploits

CVE–2018–1000001  [glibc](glibc < 2.26)CVE-2017-1000367  [Sudo](Sudo 1.8.6p7 – 1.8.20)CVE-2017-1000112  [a memory corruption due to UFO to non-UFO path switch]CVE-2017-16995  [Memory corruption caused by BPF verifier] (Linux kernel before 4.1…

10个高效Linux技巧及Vim命令对比

写在前面&#xff1a;今天没来得及唱歌~一个多星期没更新了&#xff0c;今天记录下我自己用得比较多的Linux命令行快捷键&#xff0c;小伙伴们别嘲笑我哈~不知道为啥&#xff0c;每次发文就有好几个小伙伴取消关注离开之前&#xff0c;可以告诉我为什么吗~~Vim的很多命令和功能…

python 微信机器人_Python 微信机器人

一、写在前边的话 如何做一个自动回复的微信机器人&#xff1f;机器人的功能有&#xff0c;自动加好友&#xff0c;关键字回复&#xff0c;等等&#xff0c;它甚至可以成为你的私人管家&#xff0c;只要你的代码到位。今天&#xff0c;主要讲解下&#xff0c;微信机器人-图灵版…

linux 控制台存储,技术|使用 Stratis 从命令行管理 Linux 存储

通过从命令行运行它&#xff0c;得到这个易于使用的 Linux 存储工具的主要用途。正如本系列的第一部分和第二部分中所讨论的&#xff0c;Stratis 是一个具有与 ZFS 和 Btrfs 相似功能的卷管理文件系统。在本文中&#xff0c;我们将介绍如何在命令行上使用 Stratis。安装 Strati…

Java_基础—List的三个子类的特点

List的三个子类的特点 ArrayList: 底层数据结构是数组&#xff0c;查询快&#xff0c;增删慢。 线程不安全&#xff0c;效率高。 Vector: 底层数据结构是数组&#xff0c;查询快&#xff0c;增删慢。 线程安全&#xff0c;效率低。 - Vector相对ArrayList查询慢(线程安全…

你想要的江湖,可能不在这时候笑傲

昨天看知识星球看到的一个码农的经历&#xff0c;然后我看了&#xff0c;也回答了&#xff0c;想把回答分享给大家&#xff0c;我觉得这应该是很多人都会遇到的。困扰的问题潜水这么久&#xff0c;有一个问题想问一下&#xff0c;帅张。可能有点啰嗦。就是在一家公司做开发&…

mysql binlog 备份_MySQL的binlog知识梳理

1、binlog概念:binlog是一个二进制格式的文件&#xff0c;用于记录“修改数据或可能引起数据变更”的SQL语句(查询的SQL不会记录)。2、binlog功能:(1)恢复: 利用binlog日志恢复数据库数据。(2)复制: 主从架构通过binlog同步数据。(3)审计: 可以用binlog中的信息进行审计&#x…

关于游戏行业目前的形势

cocos做棋牌特别多 ccc开发周期短&#xff0c;小公司喜欢&#xff0c;做小游戏非常快 游戏也分前端和服务器端 王者荣耀投资大&#xff0c;美术猛 vr现在硬件还没有统一 ccc和node.js可以做前端和服务器 换皮和外包很普遍 转载于:https://www.cnblogs.com/HangZhe/p/7188356.ht…

vep格式用什么播放器linux,vep格式视频用什么播放器打开

VEP是AVS的项目文件&#xff0c;可以在AVS中加载&#xff0c;然后导出成视频格式但追答听题主的描述&#xff0c;这个文件更像一个加密文件&#xff0c;可以试试用录像软件&#xff0c;录制成视频格式追问录制感觉有点麻烦啊&#xff0c;没有简单的直接用普通播放器播放的方法吗…

你需要知道的Linux 系统下外设时钟管理

嵌入式系统一般要求低功耗&#xff0c;出于这个原因&#xff0c;一般只把需要使用到的外设时钟源打开&#xff0c;其他不需要使用到的模块&#xff0c;则默认关闭它们。LCD 模块&#xff0c;上电时候默认情况是关闭的&#xff0c;所以&#xff0c;要想使用 LCD 模块&#xff0c…

千万级大表如何更快速的创建索引_分享一份生产环境mysql数据库大表归档方案,值得收藏...

概述分享下最近做的一个mysql大表归档方案&#xff0c;仅供参考。整体思路一、明确哪些大表需做归档1、数据库表概要信息统计SELECTt1.table_schema,t1.table_name,ENGINE,table_rows,CAST( data_length / 1024.0 / 1024.0 AS DECIMAL ( 10, 2 ) ) data_size(M),CAST( index_le…