반응형

안녕하세요.

업무 중 외부에서 전달된 쉘 스크립트를 실행 하던 중 다음과 같은 오류를 만났습니다.


$'\r': command not found


이런 오류는 윈도우에서 작성 된 스크립트를 리눅스에서 실행 하려고 할 때 발생 할 수 있습니다.

윈도우와 리눅스에서 사용하는 개행문자 (줄 바꿈 문자, New Line 문자) 가 달라서 발생하는 오류 입니다.

윈도우에선 줄 바꿈을 CRLF (\r\n),

리눅스에서는 LF (\n) 를 사용해서 바뀌는 문제 입니다.


해결법은 간단합니다.

터미널에서 sed 명령어를 활용 합니다.


$ sed -i 's/\r$//' 파일명


위 명령어를 수행 시 파일의 \r 가 전부 치환되어 스크립트가 정상 수행 됩니다.


(vi 에서 치환 하는 방법을 사용 해도 됩니다.)

반응형
Posted by 해리팍
BLOG main image

Chanhyun Park (해리팍)
Software Engineer @ SK hynix

Contact Info.
parkch0708@hanmail.net
chanhyun0708@gmail.com
chanhyun.park@sk.com

카테고리

All (1512)
Profile (2)
Park's Life (600)
Smart Home (IoT) (4)
Computer System (165)
Computer Programming (39)
Computer Study (54)
Computer Etc. (189)
Scuba Diving (137)
Golf (8)
Traveling (250)
생활 정보 (13)
Pokemon GO (50)