我得到了下面的代碼片段失敗的KornShell(KSH)分組條件:KornShell - 在IF語句
var1="1"
var2="2"
if [ ("$var1" != "" -o "$var2" != "") -a ("$var1" = "$var2" -o " "$var1" = "x") ]; then
echo "True"
else
echo "False"
fi
ksh: syntax error: `"$var1"' unexpected
據我瞭解,因爲括號在子shell中運行失敗,其中VAR1不認可。 那麼如何將條件集合分組在方括號內?
N.B.我已經知道以下解決方案並且不想使用它們:
- 將條件放在單獨的嵌套if語句中。
- 優化/重新排列條件以便僅將它們放入一組中。
非常感謝您的回答阿德里安,非常感謝。 轉義圓括號不起作用我仍然有「ksh:[:missing]」作爲錯誤。我使用了第一個命題:將方括號分解爲兩個ANDed集合。 – HSM 2013-06-04 15:01:16