2

この単純な if ステートメントで構文エラーが発生するのはなぜですか?

#!/bin/bash

if [[ 1 == 1 ]] ; then
#    echo "hello"
fi

エラーは

5 行目: 予期しないトークン `fi' 付近の構文エラー

エコーがコメント解除されている場合、期待どおりに機能します。

編集

ありがとう、を使用してエラーを修正しました:。愚かなバッシュ。=P

#!/bin/bash

if [[ 1 == 1 ]] ; then
:#    echo "hello"
fi
4

1 に答える 1

5

man bashでわかるように、正しい構文if

if list; then list; [ elif list; then list; ] ... [ else list; ] fi

の定義を調べるとlist

リストは、演算子 ;、&、&&、または ││ のいずれかで区切られ、オプションで ;、&、または のいずれかで終了する 1 つ以上のパイプラインのシーケンスです。

この「1つ以上」が、例が有効な構文ではない理由です。

于 2012-06-03T09:17:22.513 に答える