`
nanjingjiangbiao_T
  • 浏览: 2689640 次
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

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”解决办法

    shell脚本报错:”[: =: unary operator expected”解决办法  在匹配字符串相等时,我用了类似这样的语句: if [ $STATUS == OK ]; then echo OK fi  在运行时出现了 [: =: unary operator expected 的错误,就...

    This application checks for incoming mail (POP3 client).

    标题中的“This application checks for incoming mail (POP3 client)”指的是一个应用程序,它的主要功能是检查用户的电子邮件收件箱,这是通过使用POP3(Post Office Protocol version 3)协议来实现的。...

    比较两个字符串是否相等的shell代码

    而如果没有这个x,表达式就会报错:[: =: unary operator expected 二元比较操作符,比较变量或者比较数字.注意数字与字符串的区别. 整数比较 -eq 等于,如:if [ “$a” -eq “$b” ] -ne 不等于,如:if [ “$a

    大型,现代化的语音识别数据集-Linux开发

    用于语音识别的大型现代数据集GigaSpeech用于语音识别的大型现代数据集下载步骤,将aliyun_ossutil.cfg放入SAFEBOX目录中,编辑env_vars.sh export GIGA_SPEECH_LOCAL_ROOT = / Users / jerry / work / git / ...

    C++ 运算符优先级列表

    2. **Unary Operators (单目运算符)** - **!** (逻辑非): 对布尔值取反。 - 示例: `if (!done)` 如果 `done` 为假则条件成立。 - **~** (按位取反): 将位模式中的所有位反转。 - 示例: `flags = ~flags;` 将 `...

    Introduction to Dynamic Unary Encoding (Dec 19, 2014)-计算机科学

    Introduction to Dynamic Unary EncodingErnst D. Berg ernst@eberg.us Turlock, CA.December 19, 2014AbstractDynamic Unary Encoding takes Unary Encoding to the next level. Every n-bit binary string is an ...

    逻辑电路

    逻辑电路 核因子 ... <signed> :: =(<unary>)* <primary> :: = <id> | <信号> | “(” <电路>“)” <binary> :: =和| 或| 异或 <信号> :: = 1 | 0 <一元> :: =不 <id> :: = [az]

    Python 3 Operator Precedence.pdf

    7. Unary:一元运算符(+x、-x、~x)优先级较高,左结合性(Left to Right)。 8. Exponentiation:指数运算符()优先级较高,右结合性(Right to Left)。 9. Slice、Function Call、Attribute Reference:切片、...

    C++ 程序员编程标准

    #### 5.3 单目表达式(Unary expressions) - **定义**:只包含一个操作数的表达式。 - **内容**:例如-x。 - **作用**:实现取反等操作。 #### 5.4 显式类型转换(Explicit type conversion) - **定义**:显式地...

    Scala for the Impatient.pdf

    To define other unary operators, methods must be named with an underscore, e.g., `unary_op`. - **Assignment Operators**: The assignment operator `x op= y` is equivalent to `x = x op y`, unless a ...

    C语言 子集 的BNF文法描述

    <assignment-expression> ::= <conditional-expression> | <unary-expression> '=' ``` 5. **控制流结构**:包括条件语句(`if`、`switch`)、循环语句(`while`、`for`)、跳转语句(`break`、`continue`、`...

    haXe2语言参考手册(英文)

    - **一元运算** (`Unary operations`): - 如负号 `-x`, 逻辑非 `!x`。 - **括号** (`Parentheses`): - 用于改变表达式的计算顺序。 - 示例: `(a + b) * c`. - **块** (`Blocks`): - 一组由 `{}` 包围的语句。 - ...

    ILOG脚本PPT教案.pptx

    【ILOG脚本基本语法概览】 ILOG脚本是一种基于特定规则的编程语言,用于在ILOG环境中执行逻辑和计算任务。以下是对ILOG脚本基础语法的详细解析: 1. **复合语句与大括号**: 大括号`{}`用于包裹一组语句,构成...

    Unary层1

    在TensorRT中,`Unary Layer`是一个用于对输入张量执行单操作的层,例如取绝对值、求反等。这个初始示例代码展示了如何在Python中使用TensorRT构建一个处理形状为`(1,1,3,3)`的张量的Unary层。以下是详细的知识点...

    flash脚本对照及作用

    ### Flash脚本对照及作用详解 #### 一、概述 Flash作为一款强大的动画制作与交互式应用程序开发工具,在网络媒体领域曾经占据着重要的位置。它不仅支持矢量图形和位图图像,还允许用户创建复杂的动画和交互效果。在...

    Linux、WAS相关安装与日常操作命令

    ./install: line 435: [:-ge: unary operator expected ``` 可以检查第435行的代码,通常是因为测试表达式中的语法错误。正确的写法应该是: ```bash version=${release%%\.*} if [[ $version -ge 5 ]] ``` ...

    Data Compression Techniques - Lecture 3 - Integer Codes 1 - University of Helsinky - Slides (DCT2015-Lecture3Web)-计算机科学

    –  Unary –  Elias codes (gamma, delta) –  Golomb codes (Rice, general)•  Thursday: three modern flavours –  Interpolative binary codes –  Variable-byte codes –  Word-aligned binary ...

    Stream:Swift中的惰性流

    溪流 这是一个Swift微框架,提供了带...let unary = Stream. pure ( 4 ) let binary = Stream. cons ( 4 , nil ) let fibonacci: Stream< Int> = fix { fib in // fix is from Prelude.framework { x, y in Stream. c

Global site tag (gtag.js) - Google Analytics