環境
- CentOS6.8
エラー内容
-bash: ./run_mock.sh: /bin/bash^M: bad interpreter: No such file or directory
原因
上記、エラーの原因はシェルスクリプトの改行コードの違い(「\n」ではなく「\r\n」になっている)により、処理できなかった場合に発生します。
対処法
このエラーを解決するには、改行コードを「\r\n」から「\n」に置き換えてあげる必要があります。
そこで、便利なコマンドがあります。
コマンド名は「sed(セド)」です。
コマンド
下記コマンドをそのままコピペして、「[対象ファイル]」の部分だけ対象のファイル名に変更してあげればよいです。
$ sed -i 's/\r//' [対象ファイル]
sedとは?
入力データに対して、テキスト処理を行うプログラムです。 ちなみに、「sed」は「Stream Editor」の略です。
オプションとスクリプトコマンドの解説
-i
は、オプションです。
これは、ファイルを直接編集します。
's/\r//'
の部分のs
がスクリプトコマンドになります。
これは、 \r
を空文字 ""
に置き換えるという意味になります。
最後に
Linuxのコマンドは慣れてしまえば問題ないのですが、慣れないうちはなかなか大変です。
以下にオススメ書籍をご紹介しますので是非読んでみてください!
リンク
リンク
リンク
以上