sh 스크립트 이름 -sh: /bin/sh^M: 잘못된 해석기: 해당 파일이나 디렉터리가 없습니다.

sh 스크립트 이름 -sh: /bin/sh^M: 잘못된 해석기: 해당 파일이나 디렉터리가 없습니다.

다음과 같은 팁이 있습니다

[/share/registrazioni/Script] # cat delete_7gg.sh
#!/bin/sh
find /share/registrazioni/ -type f -mtime +7 -delete
[/share/registrazioni/Script] # which sh
/bin/sh
[/share/registrazioni/Script] # chmod +x delete_7gg.sh
[/share/registrazioni/Script] # ./delete_7gg.sh
-sh: ./delete_7gg.sh: /bin/sh^M: bad interpreter: No such file or directory

/bin/sh^M: badterpreter: No such file or Directory가 표시되는 이유는 무엇입니까? vi를 사용하여 스크립트를 작성했습니다. qnap qts 4.3.6에서 스크립트를 만들었고 ssh를 통해 액세스할 수 있습니다. 스크립트는 7일이 지난 파일을 삭제하기만 하면 됩니다. 시스템에 패키지 관리자가 없기 때문에 dos2unix를 설치할 수 없습니다. 스크립트를 만들어 cron에 넣고 싶습니다. 하지만 이런 오류가 발생했습니다.

답변1

유닉스 스타일 줄 끝(LF, ^J) 대신 Windows 스타일 줄 끝(CRLF, ^M^J)을 사용하는 것 같습니다. 노력하다dos2unix

dos2unix delete_7gg.sh

그런 다음 평소대로 실행하십시오.

남성의 경우:

dos2unix - DOS/MAC에서 UNIX 텍스트 파일 형식으로 변환기

관련 정보