Windows環境で保存したシェルスクリプトをLinux環境で実行すると /bin/bash^M: bad interpreter: そのようなファイルやディレクトリはありません /bin/bash^M: bad interpreter: No such file or directoryのエラー。 改行コードが\r\nで保存されてしまったため、Linuxの\nに直す必要がある。 対処法は以下。 sedコマンド一発で変換できる $ sed -i 's/\r//' <対象のファイル> 以下、検証 cat -e で見ると、改行コードに\rが含まれていることが分かる。 $ cat -e hello.sh #!/bin/bash^M$ echo "hello,world"^M$このまま実行するとエラー $ ./hello.sh -bash: ./hello.sh: /bin/bash^M: bad