본문 바로가기
IT 지식정리/Troubleshoot

쉘스크립트 bad interpreter: No such file or directory 에러

by G. Hong 2018. 12. 8.
728x90
반응형

쉘스크립트 파일을 다운받아서 실행하려고 하는데, 아래와 같은 에러가 발생하는 경우가 있습니다.

/bin/bash^M: bad interpreter: No such file or directory

이러한 문제는 보통 외부에서 생성된 스크립트를 실행하려고 할 때 자주 발생합니다.

이러한 문제의 원인은 윈도우등 몇몇 환경에서는 carriage return 캐릭터가 리눅스와 다르기 때문에 발생하는 현상입니다.


스크립트를 실행할 리눅스에서 다시 스크립트를 만들어도 되겠지만, 무척 번거롭게 됩니다.

하지만 sed 명령어를 통해서 carriage return 캐릭터를 치환하게 되면 쉽게 실행이 가능하게 변환할 수 있습니다.

new_script.sh라는 파일을 아래와 같이 sed로 수정을 하게 되면 .sh 스크립트가 정상적으로 실행이 되게 됩니다.

# sed -i -e 's/\r$//' new_script.sh

# ./new_script.sh

728x90
반응형