【问题标题】:Multiple conditions for if statement unixif语句unix的多个条件
【发布时间】:2013-11-17 21:50:29
【问题描述】:

我想创建一个包含多个条件的 if 语句,但不工作,我测试了它。每个 LOC 变量都包含一个整数。我认为问题在于语法。我正在做一个 bash 脚本。

if ((([ "$LOC_B_REF" -lt "$LOC_A_Q" ] && [ "$LOC_A_Q" -lt "$LOC_A_REF" ]) && [ "$LOC_B_REF" -gt "$LOC_B_Q" ]) && [ "$LOC_B_Q" -gt "$LOC_A_REF" ])

then

###do my thing 

fi

谢谢你们!

【问题讨论】:

  • 我认为这里有一个混淆,您不是在 Unix 或 Linux mint 中编写,而是在使用 shell 脚本。它们也有多种形式,例如 Bourne shell、Bash、C shell、Korn shell 等。根据您使用的不同,您必须遵循不同的语法。
  • Bash 是一个 Unix shell,但你也可以使用其他的。

标签: unix if-statement syntax conditional-statements


【解决方案1】:

在 Bash 上,使用双括号:

    if [[ "$VAR1" == "$VAR2" && "$VAR3" == "$VAR4" ]]; then
               ## Code here
    fi

【讨论】:

  • 至少在美国使用中,这些() 是括号,这些[] 是(方)括号,而这些{} 是(大括号)。我知道术语会有所不同。
猜你喜欢
  • 2013-12-17
  • 1970-01-01
  • 2017-09-25
  • 1970-01-01
  • 2015-01-20
  • 2015-03-24
  • 1970-01-01
  • 2017-05-06
  • 2014-09-06
相关资源
最近更新 更多