Ich habe einen Netgear Nighhawk R7000-Router mit der DD-WRT-Version „Kong Mod“ vom 19.04.2016. Ich habe versucht, Anzeigen direkt auf dem Router mit Pixelserv zu blockieren.DasTutorial (und ja, ich habe das Skript so eingestellt, dass es ausführbar ist).
Leider funktioniert es nicht.
Im Tutorial steht, dass das Speichern des Startbefehls auf diese Weise /jffs/dns/disable_adds.sh
dazu führen soll, dass das Skript beim Start ausgeführt wird.
Beim Versuch das Skript wie oben beschrieben direkt über die Kommandozeile des Webinterfaces des Routers zu starten erhalte ich folgende Meldung:
sh: eval: line 1: /jffs/dns/disable_adds.sh: not found
Der Versuch mit echo $PWD
in der genannten Befehlsshell gibt zurück, /www
dass es sich um einen Ordner parallel in der Hierarchie zu handelt /jffs
.
Die Verwendung ls ../jffs/dns
in derselben Shell zeigt, dass das Skript dort gefunden wird, wo es sein soll. Der Versuch, das Skript mit auszuführen, ../jffs/dns/disable_adds.sh
erzeugt dieselbe Meldung wie oben.
Es scheint erwähnenswert, dass das Ausgabefeld manchmal nichts anzeigt, selbst wenn nur Echo verwendet wird, und dass mehr als ein Befehl auch nicht zu funktionieren scheint
Ich habe keine Ahnung, wie ich jetzt vorgehen soll, um herauszufinden, warum der Router die Existenz des Skripts nicht bestätigt und wie ich es zum Ausführen bekomme.
Bearbeiten: Ich denke, ich sollte erwähnen, dass ich bereits versucht habe, die Schritte zur Fehlerbehebung am Ende des genannten Tutorials zu befolgen und dass ich versuche, es von einem PC mit Windows 7 aus zum Laufen zu bringen.
Edit2: Ich habe den Text ein wenig formatiert, wie in den Kommentaren vorgeschlagen, und einige weitere Informationen hinzugefügt. Ich hoffe, er ist jetzt besser lesbar.
Antwort1
Ich vermute, Sie haben nicht angegeben,siebangrichtig.
Wenn Sie ein Skript ausführen, wird dem System mitgeteilt, wie es ausgeführt werden soll. Probieren Sie die folgenden Beispiele aus:
/bin/bat
Versuch , als Interpreter zu verwenden ( /bin/bat
existiert nicht):
$ 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
Versuch , als Interpreter zu verwenden :
$ cat <<EOF >test.sh
> #!/bin/cat
> hello
> EOF
$ chmod +x test.sh
$ ./test.sh
#!/bin/cat
hello
not found
Es ist sehr gut möglich, dass Ihnen auf einem abgespeckten/eingebetteten System der oben angezeigte Fehler angezeigt wird .
Überprüfen Sie, ob Sie die wichtige erste Zeile richtig eingegeben haben ( #!...
) und ob die dort aufgeführte Datei existiert und ohne Fehler ausgeführt werden kann.
Normalerweise möchten Sie etwas wie #!/bin/sh
(wie in deren angegeben disable_adds.sh
).
Bearbeiten:Möglicherweise liegt bei Ihnen auch ein Problem mit den Zeilenenden vor. Stellen Sie sicher, dass WinSCP oder das von Ihnen zum Übertragen der Dateien verwendete Programm diese nicht unterstützt.Häufig gestellte Fragen zu WinSCP.
Antwort2
Ich hatte das gleiche Problem. Ich habe meine Lösung hier in meinem Blog dokumentiert.http://studioforge.xyz/wie-konfiguriert-man-cisco-linksys-wrt54g-v-2-so-dass-man-pixelserv-auf-dd-wrt-ausführt/, es lief darauf hinaus, dos2unix auf einer der Dateien auszuführen und sie erneut hochzuladen.