이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 12633|회답: 0

[리눅스] /bin/bash^M: bad interpreter: No such file or directory

[링크 복사]
게시됨 2020. 6. 13. 오후 10:40:35 | | | |
셸 스크립트를 실행할 때 다음과 같은 오류가 반환됩니다:

-bash: ./log_job.sh: /bin/bash^M: 잘못된 인터프리터: 그런 파일이나 디렉터리가 없음
오류 원인:

.sh 스크립트는 Windows 시스템에서 작성되어 보이지 않는 문자가 있을 수 있습니다. 위의 오류 프롬프트에서 보아 스크립트 파일이 DOS 형식일 가능성이 매우 높습니다. 즉, 각 줄의 끝은 \r\n으로 식별되며, ASCII 코드는 0x0D 0x0A입니다.

셸 스크립트를 실행할 때 표시되는 오류는 주로 셸 스크립트 파일이 DOS 형식이기 때문입니다. 즉, 각 줄의 끝은 \r\n으로, UNIX 포맷 파일의 끝은 \n으로 식별됩니다.

특별 참고: ^M은 키 시프트 + 6으로 생성되는 ^와 문자 M이 아니며, 문자입니다. ASCII는 0x0D입니다. 생성 방법은 먼저 CTRL+V를 누르고 Enter(또는 CTRL+M)를 누르는 것입니다.


용액

스크립트 파일이 DOS 형식인지 UNIX 형식인지 확인하는 방법은 여러 가지가 있습니다.

(1) 스크립트 형식 확인: cat -A 파일 이름 표시 결과를 보면 dos 형식으로 끝나는 파일 라인은 ^M$이고, 유닉스 형식으로 끝나는 파일 라인은 $임을 알 수 있습니다.



(2) 스크립트 형식을 수정: vi 파일명으로 파일을 열고 실행합니다:set ff=Unix파일을 유닉스로 설정하고 실행하세요:WQ, UNIX 형식으로 저장됨.

  (3) 스크립트 형식 확인: cat -A 파일 이름 표시 결과로 보아 dos 형식으로 끝나는 파일 라인은 ^M$이고, 유닉스 형식으로 끝나는 파일 라인은 $임을 알 수 있습니다.







이전의:SSIS 튜토리얼 1: SQL Server 통합 서비스 소개
다음:Nginx 로그 분할 및 삭제
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com