^M bad interpreter

Macシェルスクリプト実行時にエラーが出ました。

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

調べたところ、改行コードがWindows環境と異なるため、実行できないらしい。

vimの場合は-eオプションをつけると、^Mがvimでも表示されます。
単純にその^Mを消しても良いですが、vim

:%s/^M//g

を打つと全ての改行が削除されるので、これで実行可能になります。

ちなみに上の"^M"は制御文字なので、ctrl-V + Mで入力することができます。