상황 :
스크립트를 Window에서 작성 후 (문법적으로 오류가 없다고 가정)
Linux에서 실행 시 에러 발생
오류 내용 :
-bash: ./your_script: /bin/sh^M: bad interpreter: No such file or directory
원인 :
Windows 시스템에서 텍스트 편집기를 통해 파일을 만들 때,
줄 바꿈에 캐리지 리턴 + 줄 바꿈 문자를 사용하지만
Linix 시스템에서는 줄 바꿈 문자만 사용하므로 문제가 발생할 수 있다.
해결 :
리눅스에서 명령어를 실행하여 스크립트 파일 내에 캐리지 문자를 제거한다.
1 | sed -i -e 's/\r//g' /etc/init.d/your_script | cs |
혹은, 윈도우에서 편집기의 기능 중 Linux, Unix 용으로 저장하기 기능을 사용한다.
NotePad++의 경우, '편집 > 줄 끝 문자 변환 > UNIX 형식으로 변환'에 있다.
'컴퓨터 > Linux' 카테고리의 다른 글
[Linux] 서버 관리 명령어 (1) | 2017.03.13 |
---|---|
Geoserver + Openlayers CORS 문제 해결 방법 (0) | 2017.02.09 |
[Linux] CentOS 네트워크 연결 설정하기 (4) | 2016.12.23 |
[Linux] 파일 및 디렉토리의 소유자/소유그룹 변경 (0) | 2016.01.05 |
[Linux] 파일 및 디렉터리의 권한 변경하기 (0) | 2016.01.05 |