概要
WindowsからLinuxにシェルスクリプトを転送したら末尾に^Mが付与され、実行できない場合の対応
$ ./test.sh
-bash: ./test.sh: /bin/bash^M: bad interpreter: No such file or directory
手順
-
viでエラーが発生しているファイルを開き
:edit ++ff=unix
を実行し、^Mを表示させる#!/bin/bash^M ^M echo testmessage^M ^M ...
-
:%s/^M//g
を実行し、^Mを削除する
※ ^Mを入力する場合は[ Ctrl+v ][ Ctrl+M ]の順に入力する#!/bin/bash echo testmessage ...