No.515
【Bash】/bin/bash^M: bad interpreter【Linux】
bash -n してもエラーないし記述も間違ってないのに…
この間、ちょっと嵌まった。
何をしても下記のエラーが出てシェルスクリプトが動かないのだ。
/bin/bash^M: bad interpreter: そのようなファイルやディレクトリはありません
/bin/bash^M: bad interpreter: No such file or directory
もちろん bash -n でエラーは出ないし、 bash のパスも間違ってない。
はい。Windowsユーザーの方は気が付きましたかね?
原因:改行コード
シェルスクリプトを作製したときの環境で、改行コードが \r\n になってることをってみると幸せになれるかもしれない。
Windowsのメモ帳とかでパッと書いたものを、Linuxにそのまま転送したときによく起こる悲劇として有名だ。
改行コードは \n にすること。指さし確認の対象にしておこう。