/bin/sh^M: bad interpreter
서버 작업을 위한 스크립트를 eclipse 에서 작업을 하고, svn에을 통해서 서버에 script를 받고 실행할 경우 발생할 가능성이 있는 /bin/sh^M: bad interpreter 에러.
특별하게 문제없다가 새로운 script에서 발생하면 이건 도대체 잡기가 어렵다. 그냥 봐서는 아 이상한 문자가 들어가서 깨졌다는 의심은 일단 들기 시작한다.
그래서 서버에서 vi 를 통해서 동일한 내용으로 스크립트를 작성하며 정상동작하고 eclipse에서 작업 하면 동일한
문제가 발생할 경우 이부분을 의심해야 한다.
우선 Window 와 Unix/Linux 기반의 text 개행 문자가 다르기때문에 발생하는 경우이다.
이것을 알려면 문제가 되는 파일을 vi 로 열때 vi -d 명령어를 통해서 보면 ^M 이 들어가 있는것을 볼수 있다. 그냥 vi 로 보면 정상적으로 보이지만 -d 옵션으로 보면 문장 끝에 개행문자 부분에 ^M 이런 게 보일것이다.
해당 문제를 eclipse에서 쉽게 해결가능합니다.
team -> setProperty 에서 Name 을 svn:eol-style 선택하고 Value 에는 native 를 넣으면
개행문자를 사용하는 운영체제에 맞게 적용하게 됩니다. 이렇게 변경후 서버에 반영하면 정상적으로 되는것을 확인할수 있습니다.
문제가 발생할 경우 이부분을 의심해야 한다.
우선 Window 와 Unix/Linux 기반의 text 개행 문자가 다르기때문에 발생하는 경우이다.
이것을 알려면 문제가 되는 파일을 vi 로 열때 vi -d 명령어를 통해서 보면 ^M 이 들어가 있는것을 볼수 있다. 그냥 vi 로 보면 정상적으로 보이지만 -d 옵션으로 보면 문장 끝에 개행문자 부분에 ^M 이런 게 보일것이다.
해당 문제를 eclipse에서 쉽게 해결가능합니다.
team -> setProperty 에서 Name 을 svn:eol-style 선택하고 Value 에는 native 를 넣으면
개행문자를 사용하는 운영체제에 맞게 적용하게 됩니다. 이렇게 변경후 서버에 반영하면 정상적으로 되는것을 확인할수 있습니다.