본문 바로가기

카테고리 없음

/bin/bash^M: bad interpreter: No such file or directory 해결 방법

 

 

윈도우 환경에서 쉘 스크립트 작성 후 리눅스 환경에서 실행하면 윈도우용 개행 문자( ^M)를 리눅스에서 인식하지 못함

이 (^M)을 삭제해주면 해결됨

 

방법 1. vi 편집기로 ^M 직접 삭제

vi -b [파일명]

 

방법2. sed 명령어로 삭제

sed; streamlined editor
vi는 편집기를 열여 화면과 상호작용하는 대화형 방식 
sed는 명령행에서 파일을 인자로 받아 명령어를 통해 작업 후 결과를 화면으로 확인
sed는 쉘 리다이렉션을 이용해 편집 결과를 저장하기 전까지 파일에 변경이 발생하지 않음

 

sed -i 's/\r$//' [파일명]

 

 

방법 3. vi 에서 fileformat 설정하기

1) vi 편집기 실행

vi [파일명]

 

2) fileformat 설정 :set fileformat=unix

3) 실행

 

 

 

 

 

참고

https://gethlemn.tistory.com/66

 

/bin/bash^M: bad interpreter: No such file or directory 해결 방법

[원인] Window 환경에서 sh 작성 후, linux 환경에서 실행하여 발생한 문제이다. window에서 사용한 개행 문자가 linux에서는 인식되지 못해 발생하는 문제이다 [해결방법] 1. vi에서 ^M 삭제하기 (1) vi -b [

gethlemn.tistory.com