![bash if文に関する問題[エラー==エラー]:見つかりません[重複]](https://linux33.com/image/58687/bash%20if%E6%96%87%E3%81%AB%E9%96%A2%E3%81%99%E3%82%8B%E5%95%8F%E9%A1%8C%5B%E3%82%A8%E3%83%A9%E3%83%BC%3D%3D%E3%82%A8%E3%83%A9%E3%83%BC%5D%EF%BC%9A%E8%A6%8B%E3%81%A4%E3%81%8B%E3%82%8A%E3%81%BE%E3%81%9B%E3%82%93%5B%E9%87%8D%E8%A4%87%5D.png)
スクリプトを実行するたびに、次の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
エラーメッセージが表示されます。