Linux/Red Hat 계열

[CentOS] /bin/sh^M: bad interpreter: No such file or directory

devvace 2017. 11. 1. 11:10

CentOS 에서 스크립트 파일 실행 중 발생한 에러

구글 검색을 해보니, 윈도우에서 스크립트 파일을 작성한 후 리눅스에서 실행을 하면 나타나는 에러라고 한다.

해결 방법은


1. vi -b

vi 의 바이너리 모드로 들어가면 ^M 이라는 문자가 보인다. 이것을 지워주면 된다.


2. dos2unix

리눅스 콘솔에서 dos2unix filename.txt 와 같이 명령을 주어 파일을 변경한다.


3. subversion property 설정

형상관리 시스템으로 subversion을 쓰고 있을 경우, 해당 스크립트 파일의 property 에 svn:eol-style=native 를 추가해 준다.

(native 는 줄 끝 문자를 해당 OS에 맞게 변경해준다)


나는 그냥 리눅스 VIM으로 스크립트 파일을 다시 작성했다.




ref) http://tod2.tistory.com/28