if语句的Bash字符串比较

if语句的Bash字符串比较,bash,Bash,因为bash编程,我变得异常疯狂 我有以下资料: result="ERROR|0" # From a complex sed execution IFS='|' read -a array <<< "$result" if [ "${array[0]}" == "ERROR" ]; then echo "Error" fi 它应该返回一个字符串,不是吗?我之前写的字符串在代码的第一个版本中有两个小错误: $result=“ERROR…”(要分配,必须使用resu

因为bash编程,我变得异常疯狂

我有以下资料:

result="ERROR|0"  # From a complex sed execution
IFS='|' read -a array <<< "$result"

if [ "${array[0]}" == "ERROR" ]; then
    echo "Error"
fi

它应该返回一个字符串,不是吗?我之前写的字符串在代码的第一个版本中有两个小错误:

  • $result=“ERROR…”
    (要分配,必须使用
    result=value

  • 在代码的第一个版本中有两个小错误:

    • $result=“ERROR…”
      (要分配,必须使用
      result=value

    • 为变量赋值时,不要使用
      $
      符号。 e、 g.使用

      而不是

       $result="foo"
      
      然后在编写字符串时不要忘记终止引号:

      IFS='|' read -a array <<< "$result
      

      IFS='|'read-数组为变量赋值时,不要使用
      $
      符号。 e、 g.使用

      而不是

       $result="foo"
      
      然后在编写字符串时不要忘记终止引号:

      IFS='|' read -a array <<< "$result
      

      IFS=“|”read-它为我提供的数组(现在您已经更正了脚本中的错误),您确定要使用
      bash
      运行代码段吗?你有错误吗?
      echo${array[@]}
      打印的是什么?问题是输出中没有可见的字符用于着色,而且为其获取regexp非常奇怪。您可能知道,如果不告诉我们,没有人可以知道额外的字符(您将“ERROR | 0”作为非工作输入)。即使现在,您也会给我们一些代码,这些代码会给我一个输出,几乎可以是任何东西。这对我来说都是有用的(现在您已经更正了脚本中的错误),您确定要使用
      bash
      运行代码段吗?你有错误吗?
      echo${array[@]}
      打印的是什么?问题是输出中没有可见的字符用于着色,而且为其获取regexp非常奇怪。您可能知道,如果不告诉我们,没有人可以知道额外的字符(您将“ERROR | 0”作为非工作输入)。即使现在,你给了我们一些代码,这些代码给了我一个输出,几乎可以是任何东西。我忘记了引号,在开始时不小心添加了$notation,因为我不得不调整脚本以使其清晰。尽管如此,它仍然不起作用。我忘记了引号,并在开始时意外地添加了$符号,因为我不得不修改我的脚本以使其清晰。尽管如此,它仍然不起作用
       $result="foo"
      
      IFS='|' read -a array <<< "$result