DD-WRT가 있는 라우터의 스크립트를 찾을 수 없기 때문에 실행할 수 없습니다.

DD-WRT가 있는 라우터의 스크립트를 찾을 수 없기 때문에 실행할 수 없습니다.

저는 DD-WRT "Kong Mod" 릴리스(2016년 4월 19일)가 포함된 netgear nighhawk r7000 라우터를 가지고 있습니다. 다음과 같은 pixelserv를 사용하여 라우터에서 직접 광고를 차단하려고 했습니다.이것튜토리얼(그렇습니다. 스크립트를 실행 가능하도록 설정했습니다).

불행히도 작동하지 않습니다.

/jffs/dns/disable_adds.sh이와 같이 시작을 위한 명령을 저장하면 시작 시 스크립트가 실행되어야 한다는 것이 튜토리얼에 기록되어 있습니다 .

라우터 웹 인터페이스의 명령 셸을 통해 위에 작성된 것처럼 직접 스크립트를 시작하려고 하면 다음 메시지가 나타납니다.

sh: eval: line 1: /jffs/dns/disable_adds.sh: not found

echo $PWD언급된 명령 셸에서 를 시도하면 /www계층 구조에서 병렬 폴더인 가 반환됩니다 /jffs.

동일한 셸에서 사용하면 ls ../jffs/dns스크립트가 있어야 할 위치에서 발견되었음을 알 수 있습니다. 스크립트를 실행하려고 하면 ../jffs/dns/disable_adds.sh위와 동일한 메시지가 생성됩니다.

출력 필드에 에코만 사용해도 아무것도 표시되지 않는 경우가 있고 둘 이상의 명령도 작동하지 않는 것 같다는 점은 주목할 가치가 있는 것 같습니다.

라우터가 스크립트의 존재를 인식하지 못하는 이유와 스크립트를 실행하는 방법을 알아보기 위해 지금 진행하는 방법을 모르겠습니다.

편집: 언급된 튜토리얼 끝에 있는 문제 해결 단계를 이미 시도했으며 Windows 7이 설치된 PC에서 작동하도록 하려고 한다는 점을 언급해야 할 것 같습니다.

Edit2: 댓글에서 제안한 대로 텍스트 형식을 약간 지정하고 정보를 더 추가했습니다. 이제 더 읽기가 편해지기를 바랍니다.

답변1

나는 당신이 지정하지 않은 것 같아요오두막제대로.

스크립트를 실행하면 시스템에 스크립트 실행 방법이 알려집니다. 다음 예를 시도해 보세요.

/bin/bat통역사로 사용하려고 합니다 ( /bin/bat존재하지 않음):

$ cat <<EOF >test.sh
> #!/bin/bat
> hello
> EOF
$ chmod +x test.sh
$ ./test.sh
-bash: ./test.sh: /bin/bat: bad interpreter: No such file or directory

/bin/cat통역사로 사용하려고 합니다 :

$ cat <<EOF >test.sh
> #!/bin/cat
> hello
> EOF
$ chmod +x test.sh
$ ./test.sh
#!/bin/cat
hello

not found컷다운/임베디드 시스템에서는 위에서 본 오류가 나타날 가능성이 매우 높습니다 .

중요한 첫 번째 줄을 올바르게 입력했는지( #!...), 거기에 나열된 파일이 존재하고 오류 없이 실행될 수 있는지 확인하세요.

일반적으로 다음과 같은 것을 원할 것입니다 #!/bin/sh(에 지정된 대로 disable_adds.sh).

편집하다:줄 끝 부분에 문제가 있을 수도 있습니다. WinSCP 또는 파일 전송에 사용하는 모든 항목이 해당 줄 끝에서 재생되지 않는지 확인하세요.WinSCP FAQ.

답변2

나는 같은 문제가있었습니다. 내 블로그에 내 솔루션을 문서화했습니다.http://studioforge.xyz/how-to-configure-cisco-linksys-wrt54g-v-2-to-run-pixelserv-on-dd-wrt/, 파일 중 하나에서 dos2unix를 실행하고 다시 업로드하는 것으로 나타났습니다.

관련 정보