3

KornShell (ksh) で次のスニペットが失敗しました。

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

ksh: 構文エラー: `"$var1"' 予期しない

私が理解しているように、var1が認識されないサブシェルで括弧が実行されるため、これは失敗します。では、角括弧内で一連の条件をグループ化するにはどうすればよいでしょうか?

注意:私はすでに次の解決策を知っていますが、それらを使用したくありません。

  • 条件を個別のネストされた if ステートメントに入れます。
  • 条件を最適化/再配置して、それらを 1 つのセットにまとめます。
4

2 に答える 2

0

二重角括弧を使用する必要があります.. [[--------]]

それが役に立てば幸い。

よろしく。

于 2013-11-18T21:58:41.450 に答える