本文介绍: 如上代码, 执行shell报错line 1: [: ==: unary operator expected翻译过来就是:-bash: [: ==: 期待一元表达式】1. 当 if 语句使用 [ ] 条件修饰符时, $flag 变量必须加上引号。2. 当 if 语句使用 [[]] 条件修饰符时,$flag 变量引号可有可无。…

问题背景

  1. if [ $flag == ‘1’ ]; then
  2. mode=’–dev
  3. else
  4. mode=’–test
  5. fi

如上代码, 执行shell报错line 1: [: ==: unary operator expected翻译过来就是:-bash: [: ==: 期待一元表达式】

解决方案

  1. if [ “$flag” == ‘1’ ]; then
  2. mode=’–dev
  3. else
  4. mode=’–test
  5. fi

问题说明

1. 当 if 语句中使用 [ ] 条件修饰符时, $flag 变量必须加上引号。

2. 当 if 语句中使用 [[]] 条件修饰符时,$flag 变量的引号可有可无。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注