[Linux] 쉘 스크립트 실행 시 /bin/sh^M: bad interpreter 오류 해결

2024. 5. 24. 14:52·■ Error/Linux 오류해결
반응형

0. 개요

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

쉘 스크립트 작성 후 RHEL 서버에서 실행시키니 상기와 같은 오류가 출력되며 실행이 되지 않는다. 해당 오류를 해결해보도록 한다.

 

 

 


1. 원인

Windows에서 작성한 스크립트 파일을 LINUX로 옮겨 실행하면 발생하는 오류다.

 

이는 OS별 개행 표현방식이 다르기 때문인데, Windows에서는 CRLF 표현방식을 사용하고, LINUX에서는 LF 표현방식을 사용한다.

 

# vim -b 스크립트명.sh

확인을 위해 바이너리 모드로 vim 편집기를 실행해 보자.

 

줄이 바뀌는 부분마다 ^M이 추가된 것을 확인할 수 있다. 앞서 언급했던 부분에 조금 더 보충설명을 하자면,

 

  • Windows : CRLF 표현방식, 줄바꿈 개행문자 \r\n 사용
  • LINUX : LF 표현방식, 줄바꿈 개행문자 \n

서로 표현방식이 상이하므로, Windows에서 작업한 파일을 LINUX로 그대로 전송하게 되면 인식할 수 없어 발생하는 오류가 되겠다.

 

 

 


2. 해결방법

간편하게 vim 편집기에서 해결할 수 있다.

 

# vim 스크립트명.sh

바이너리 모드가 아닌 평소에 사용하던 일반 모드로 VIM 편집기를 실행후, esc 버튼을 눌러 일반 모드로 전환한다.

 

- VIM, VI 편집기 둘다 상관없다.

 

 

 

:set fileformat=unix
:wq

fileformat을 unix로 설정후 저장한다.

 

 

 

 

 

300x250
반응형
저작자표시 비영리 변경금지 (새창열림)
'■ Error/Linux 오류해결' 카테고리의 다른 글
  • [Linux] Ubuntu 『실패: name resolution에서 일시적인 실패.』 오류 해결
  • [Linux] Ubuntu su 인증실패 원인과 해결방법
  • [Linux] sendmail 실행 시 My unqualified host name (호스트명) unknown 오류 해결
Min Hyuk-Lee
Min Hyuk-Lee
시스템 엔지니어로 근무하고 있습니다.
  • Min Hyuk-Lee
    아크레의 개발로그
    Min Hyuk-Lee
    m_file@naver.com
  • 전체
    오늘
    어제
    • 📝 Log. (81)
      • ■ Dev. Language (11)
        • C (5)
        • C# (6)
      • ■ Dev. ETC (8)
        • Unity 3D (3)
        • Android Studio (JAVA) (5)
      • ■ Web (6)
        • HTML (3)
        • JSP (3)
      • ■ Linux (8)
        • Shell (2)
        • Linux Tip. (6)
        • 보안취약점 진단 (0)
      • ■ Windows (4)
        • Server (1)
        • Windows Tip. (3)
      • ■ VM (1)
        • VMWare (1)
        • Virtual Box (0)
      • ■ Database (9)
        • MySQL (7)
        • OracleDB (2)
      • ■ DevKit (5)
        • IDE (4)
        • Tool (1)
      • ■ Error (17)
        • Linux 오류해결 (4)
        • DB 오류해결 (3)
        • IDE 오류해결 (2)
        • VM 오류해결 (3)
        • Unity 오류해결 (4)
        • SSH, SFTP 오류해결 (1)
      • ■ Photoshop (3)
        • 디자인&이미지 창작 (3)
      • ■ Document (3)
        • MS Word (2)
        • PDF (1)
      • ■ Study (4)
        • Baekjoon (4)
      • ■ 작문 (1)
        • 회고 (1)
      • ■ ETC (1)
        • Car (0)
        • etc (1)
  • 🌐 Menu

    • 📓 Guestbook
  • 🔗 Other Links

    • GitHub
    • 아크레의 IT ISSUE
  • 📢 Notice

    • [스킨 업데이트] hELLO v4.10.0 적용완료
    • [스킨 업데이트] hELLO v4.9.0 적용 완료
    • [스킨 업데이트] hELLO v4.8.1 적용 완료
  • 💬 Recent Comments

  • hELLO· Designed By정상우.v4.10.0
Min Hyuk-Lee
[Linux] 쉘 스크립트 실행 시 /bin/sh^M: bad interpreter 오류 해결
상단으로

티스토리툴바