노력과 삽질 퇴적물

에러: ^M bad interpreter 본문

프로그래밍note/에러&버그

에러: ^M bad interpreter

MTG 2015. 11. 7. 21:16


-bash: ./test.sh: /bin/bash^M: bad interpreter: 그런 파일이나 디렉토리가 없음

OR

-bash: ./test.sh: /bin/bash^M: bad interpreter: No such file or directory


윈도우에서 notepad++등으로 쉘 스크립트 작성후

FTP로 리눅스에서 실행시 위와같은 에러메시지 출력.






해결.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
[root] # vi -b testBackUp.sh
 
#!/bin/sh^M
DATE=`date +%Y_%m_%d_%H`
PREV_DATE=`date --date '1 days ago' +%Y_%m_%d_%H`
PREV_DATE_FTP=`date --date '14 days ago' +%Y_%m_%d_%H`
 
echo shell start ${DATE}
BACKUP_DIR=/userdata/back
... ... ...
... (중략) ...
... ... ...
 
:%s/^M//g
cs


위의 예시처럼

vi -b를 이용해서 바이너리 모드로 스크립트를 열어서

^M부분을 리눅스용으로 변경합니다.






기타. 참조자료


미니옵빠의 code stubs :: /bin/sh^M: bad interpreter: No such file or directory 오류 발생 시

-bash: ./test.sh: /bin/bash^M: bad interpreter: 그런 파일이나 디렉토리가 없음