小编HSM*_*HSM的帖子

KornShell - IF 语句中的分组条件

我在 KornShell (ksh) 上遇到以下代码段失败:

var1="1"
var2="2"
if [ ( "$var1" != "" -o "$var2" != "") -a ( "$var1" = "$var2" -o " "$var1" = "x") ]; then
   echo "True"
else
   echo "False"
fi
Run Code Online (Sandbox Code Playgroud)

ksh:语法错误:`"$var1"' 意外

据我了解,这失败是因为括号在无法识别 var1 的子shell中运行。那么如何将条件集分组在方括号内呢?

注意我已经知道以下解决方案并且不想使用它们:

  • 将条件放在单独的嵌套 if 语句中。
  • 优化/重新排列条件以将它们仅放在一组中。

shell ksh if-statement conditional-statements

3
推荐指数
1
解决办法
5万
查看次数

标签 统计

conditional-statements ×1

if-statement ×1

ksh ×1

shell ×1