2019년 11월 13일 수요일

이클립스 개행 문자 변경(^M)

윈도우 에서 이클립스로 쉘스크립트 작성 후 리눅스 서버에 반영한 경우 아래와 같이 다양한 오류가 발생한다.

- syntax error near unexpected token
- /bin/sh^M bad interpreter

결과적으로 윈도우와 리눅스에서의 개행문자가 틀려 발생하는 문제로 직접 리눅스 서버에서 vi로 다시 작성하면 된다.

확인방법(리눅스)

[root@]# cat -v script.sh
※ -v : tab와 줄바굼 문자를 제외한 제어 문자를 ^형태로 출력


수정방법(리눅스)

[root@]# vi -b script.sh
※ 바이너리 형식으로 열어 ^M 문자열을 직접 삭제 후 저장
※ git으로 관리되는 경우 다시 PUSH할 경우 원복되는 문제가 있다.



수정방법(윈도우 이클립스)

이클립스 줄바꿈 형태 변경

이클립스 -> File -> Convert Line Delimiters To -> Unix(LF, \n, ...) 선택