【问题标题】:Mulitple compare conditions in a if statement in bashbash中if语句中的多个比较条件
【发布时间】:2016-07-27 18:25:20
【问题描述】:

我想使用“或”运算符在 if 语句中放置多个比较条件 这是sn-p。,

    if [[ "$input" == "string1" ] || [ "$input" == "string2" ] || [ "$input" == "string3" ]]; then
    ...
   fi

但是当我执行命令时,它会在意外标记 `]' 附近出现语法错误。

你们能帮忙吗?

【问题讨论】:

    标签: string bash if-statement compare


    【解决方案1】:

    替换

    [[ .. ] || [ .. ] || [ .. ]]
    

    通过

    [[ .. ]] || [[ .. ]] || [[ .. ]]
    

    【讨论】:

    • 并且,在代码越少越好的理论下,您可以使用if [[ "x" == "y" || "y" == "y" ]] ; then echo OK ; else echo nope ; fi(至少在 ksh 中)。祝大家好运。
    【解决方案2】:

    试试这个,在 if 条件的第一个和最后一个位置不需要额外的[

    if [ "$input" == "string1" ] || [ "$input" == "string2" ] || [ "$input" == "string3" ]; then
        ...
    fi
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-10
      • 2016-05-09
      • 2015-01-20
      • 2013-09-25
      • 2014-06-08
      相关资源
      最近更新 更多