Computer/Ubuntu, Linux

윈도우에서 작성된 스크립트가 에러를 발생할때 해결하자

매직블럭 2020. 10. 7. 10:10

윈도우에서 스크립트를 작성하고 리눅스에서 실행 할 경우 개행문자 관련 오류가 발생하는 경우가 있다.

( '\r': command not found )

 

이는 개행 문자 표현의 차이로 인한 문제로 윈도우에서는 CR과 LF를 같이 사용하는데 반해

리눅스에서는 LF만 사용하기 떄문에 EOL 처리가 다르다.

 

리눅스에서 사용할 경우에는 라인 끝의 \r 을 제거 해 주면 되고 이는 sed 를 이용하여 간단하게 처리 가능하다.

 


# windows -> linux
$ sed -i -e 's/\r$//' file.sh

# linex -> windows
$ sed -i -e 's/$/\r/' file.sh

 

 

참고 : www.snoopybox.co.kr/1613