/bin/bash^M: bad interpreter: No such file or directory の時の対処法
いつもは、LinuxにSSHログインしてvim コマンドでシェルスクリプトを作るのですが、Windowsでテキストエディタでシェルスクリプトで作ると改行コードが「\r\n」で保存されて、シェルスクリプトを実行すると下記のようなエラーになります
$ sh ./test.sh -bash: test.sh: /bin/bash^M: bad interpreter: No such file or directory
エラーになったシェルスクリプトの改行コードを確認します。catコマンドで「-e」のオプションを使用すると改行コードが表示されます
$ cat -e ./test.sh #!/bin/bash^M$ ^M$
Windowsの改行コードが入っているので、sedコマンドで「\r\n」を「\n」になるように置換すれば、「/bin/bash^M: bad interpreter: No such file or directory」は解消されます
コマンド:sed -i 's/\r//’ <対象のファイル>
$ sed -i 's/\r//' <対象のファイル> # test.shの場合は下記のようになります $ sed -i 's/\r//' test.sh # 置換後の改行コードを確認します $ cat -e ./test.sh #!/bin/bash$ $
ディスカッション
コメント一覧
まだ、コメントがありません