서버/Linux

[LINUX Err] bad interpreter: No such file or directory 오류 해결방법 / 리눅스 sh 실행시 CR 문자 에러 해결방법

snow_hong 2022. 11. 1. 11:10

 

리눅스에서 SH파일을 실행시켰더니 bad interpreter: No such file or directory 라는 에러가 뜬다.

이 bad interpreter: No such file or directory 오류의 해결방법에 대해 알아보자!

 

 오류 원인 

눅스와 윈도우즈 문자 사용에 따른 차이 문제이다.

윈도우즈의 CR 문자가 리눅스 환경에서 제대로 동작하지 않는다.

 

 리눅스 sh 실행시 CR 문자 에러 해결방법 

CR을 제거하는 방법입니다. 이를 위해서 아래와 같이 sed 명령어를 사용한다.

리눅스는 줄바꿈을 \n

윈도우는 줄바꿈을 \r\n

리눅스와 윈도우의 줄바꿈 문자가 다르기 때문에 \r문자를 삭제해야한다.

 

sed -i -e 's/\r$//' /test/log.sh

test폴더 안에 log.sh의 cr문자를 제거하는 예제이다.

's/\r$//' -> '\r'을 ''로 치환한다.

 

cr문자를 제거하면 bad interpreter: No such file or directory 오류를 해결이 가능하다!

 

- sed 명령어의 추가 설명 링크

https://hong42.tistory.com/110

 

[linux] sed 명령어 개념 및 예제

sed 명령어란? sed (Stream Editor) 원복 텍스트 파일을 편집하는 명령어 1. sed 명렁어 형태로 편집되고 실시간 편집이 아니다. 2. 원본을 건드리지 않고 편집한다. (-i 옵션을 지정하면 원본은 바뀜) 3.

hong42.tistory.com

 

728x90