bash if文に関する問題[エラー==エラー]:見つかりません[重複]

bash if文に関する問題[エラー==エラー]:見つかりません[重複]

スクリプトを実行するたびに、次のifステートメントでエラーが発生します。

script.sh: [Error==Error]: not found

または

script.sh: [Error==-2]: not found

if ["$P1"=="$P2"];then
            echo $name
fi

他のバージョンも書いています。

    if ["$P1"=="$P2"]
            then
            echo $name
    fi

そして

    if [[ "$P1" == "$P2" ]]
            then
            echo $name
fi

P1="Error"
P2="$(sed -n '1p' somefile.txt)"

somefile.txt数字または文字列を含めることができます

答え1

スペースが重要です。使用:

if [ "$P1" = "$P2" ]

何かが間違っています。

シェルがそれを見ると、["$P1"=="$P2"]それを単一の単語として解釈し、その単語に一致するコマンドを見つけます。対応するコマンドがないため、not foundエラーメッセージが表示されます。

関連情報