紙一重の積み重ね

35歳のエンジニアがなれる最高の自分を目指して、学んだことをこつこつ情報発信するブログです。

【Bash】シェルスクリプト実行時に /bin/bash^M: bad interpreter: No such file or directory が出たときの対処法

f:id:yokoyantech:20180703175013p:plain

はじめに

地味にハマったのでメモ。

やりたいこと

  • 自作したシェルスクリプトを実行したい

環境

  • Ubuntu16.04

発生したエラー

  • シェルスクリプト実行時に以下のエラーが発生する
-su: ./create_hoge.sh: /bin/bash^M: bad interpreter: No such file or directory

対処法

  • 改行コードをLFに変更する

原因

  • 改行コードがCRLFになっている
    • cat -eで確認できる
    • ^M$となっているとダメ
cat -e create_hoge.sh

#!/bin/bash^M$
sudo touch /var/tmp/nginx/hoge^M$