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