$ ./format-sdcard.sh sdb
bash: ./format-sdcard.sh: /bin/bash^M: bad interpreter: 그런 파일이나 디렉터리가 없습니다

 

저런 error가 발생한다.

 

구글 검색을 해보니 윈도우에서 작성된 file이라 code line 끝마다 ^M 이 들어가 있어서 그렇다고 한다.

 

$ vi -b format-sdcard.sh

 

위 명령어로 파일을 열어보면

 

 

위처럼 끝에 ^M가 붙어있는것을 볼수 있다.

 

저 문자는 유닉스 개행문자와 도스 개행문자가 섞여 있는 경우에 나타난다고 한다.

 

해결방법은 다음 blog를 참고하였다.

 

https://securus.tistory.com/entry/binbashM-bad-interpreter-%EA%B7%B8%EB%9F%B0-%ED%8C%8C%EC%9D%BC%EC%9D%B4%EB%82%98-%EB%94%94%EB%A0%89%ED%84%B0%EB%A6%AC%EA%B0%80-%EC%97%86%EC%8A%B5%EB%8B%88%EB%8B%A4

 

[Linux] /bin/bash^M: bad interpreter: 그런 파일이나 디렉터리가 없습니다

Linux 에서 쉘스크립트를 실행했을 때 발생한 에러. 유닉스 개행문자와 도스 개행문자가 섞여 있는 경우 ^M 문자가 나타난다고 한다. 해결 방법은 ^M 이 문자들을 제거하는 것. 1. 해당 파일을 열때 옵션을 준다...

securus.tistory.com

다음 option으로 파일을 연다.

 

$ vi -b format-sdcard.sh

 

vim 명령줄에 다음 명령어를 입력한다.

 

:%s/^M//g

위의 ^M은 다음 방법으로 입력해야 한다.

 

^ : ctrl + v
M : ctrl + M

 

그리고 저장후 종료하면 끝

:wq!

+ Recent posts