開発

シェルを実行すると「bin/bash^M: bad interpreter」になってしまう

シェルを実行すると「bin/bash^M: bad interpreter」になってしまう

シェルを実行すると「bin/bash^M: bad interpreter」になってしまう。
bin/bash^M: bad interpreter: No such file or directory
このエラーの原因と回避方法を紹介する。


エラー原因

エラーメッセージを読むと存在しないファイルまたはディレクトリを参照しているように見えるが、実はエラー原因はそこではない。

bin/bash^M: bad interpreter: No such file or directory

エラーの原因は改行コード
Windowsの改行コード CRLF \r\n で保存されたシェルファイルをLinux環境で実行すると、Linux環境では改行コードがLF \n なので bin/bash を正しく認識できずにエラーになってしまう。

参考:
/bin/bash^M: bad interpreter: そのようなファイルやディレクトリはありません (No such file or directory) - カタカタブログ


エラーの回避方法

シェルファイルの中のWindowsの改行コード CRLF \r\n をLinuxの改行コードがLF \n に置換して保存しなおせばエラーを回避できる。
テキストエディタで開いて正規表現で置換すれば完了。


まとめ

  • シェルの「bin/bash^M: bad interpreter」エラー原因は改行コード
  • エラー回避方法は \r\n\n に置換すること


ITipsと同じようなブログを作る方法

ブログに興味がありますか?

もしブログに興味がある場合は↓このページ↓を参考にすれば、ITipsと同じ構成でブログを作ることができます

サーバー、ドメイン、ASPと【ブログに必要なものは全て】このページに書きました。
同じ構成でブログ作るのはいいけど、記事はマネしないでネ (TДT;)

役に立ったらシェアしてくれると励みになります。

にほんブログ村 IT技術ブログへ

-開発
-, ,

Translate »

© 2021 ITips