El script en el enrutador con DD-WRT no se puede ejecutar porque no se encuentra

El script en el enrutador con DD-WRT no se puede ejecutar porque no se encuentra

Tengo un enrutador netgear nighhawk r7000 con la versión DD-WRT "Kong Mod": 19/04/2016. Estaba intentando bloquear anuncios directamente en el enrutador con pixelserv siguiendoestetutorial (y sí, he configurado el script para que sea ejecutable).

Lamentablemente no funciona.

En el tutorial está escrito que guardar el comando para el inicio de esta manera /jffs/dns/disable_adds.shdebería hacer que el script se ejecute al inicio.

Al intentar iniciar el script directamente como se escribió anteriormente a través del shell de comandos de la interfaz web del enrutador, aparece el siguiente mensaje:

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

Al probar un echo $PWDshell de comandos mencionado, se devuelve /wwwque es una carpeta paralela en la jerarquía a /jffs.

El uso ls ../jffs/dnsen el mismo shell muestra que el script se encuentra donde se supone que debe estar. Intentar ejecutar el script ../jffs/dns/disable_adds.shproduce el mismo mensaje que el anterior.

Vale la pena señalar que el campo de salida a veces no muestra nada incluso con solo eco y que más de un comando tampoco parece funcionar.

No tengo idea de cómo proceder ahora para descubrir por qué el enrutador no reconoce la existencia del script y cómo hacer que se ejecute.

Editar: Supongo que debo mencionar que ya intenté seguir los pasos de solución de problemas al final del tutorial mencionado y que estoy intentando que funcione desde una PC con Windows 7.

Edición 2: formateé un poco el texto como se sugirió en los comentarios y agregué más información. Espero que ahora sea más legible.

Respuesta1

Supongo que no has especificado elel asuntoadecuadamente.

Cuando ejecuta un script, esto le indicará al sistema cómo ejecutarlo. Pruebe los siguientes ejemplos:

Intentando utilizar /bin/batcomo intérprete ( /bin/batno existe):

$ 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

Intentando utilizar /bin/catcomo intérprete:

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

Es muy posible que en un sistema reducido/integrado, se le presente el not founderror que ve arriba.

Verifique que haya escrito correctamente la primera línea importante ( #!...) y que el archivo que aparece allí exista y pueda ejecutarse sin errores.

Por lo general, querrás algo como #!/bin/sh(como se especifica en su disable_adds.sh).

Editar:También es posible que tengas un problema con los finales de línea; asegúrate de que WinSCP o lo que estés usando para transferir los archivos no reproduzca con ellos.Preguntas frecuentes sobre WinSCP.

Respuesta2

Tuve el mismo problema. Documenté mi solución aquí en mi blog,http://studioforge.xyz/how-to-configure-cisco-linksys-wrt54g-v-2-to-run-pixelserv-on-dd-wrt/, todo se redujo a ejecutar dos2unix en uno de los archivos y volver a cargarlo.

información relacionada