私は、DD-WRT「Kong Mod」リリース: 04-19-2016を搭載したNetgear Nighhawk R7000ルーターを持っています。私は、PixelServを使用してルーター上で直接広告をブロックしようとしていました。これチュートリアル (そして、スクリプトを実行可能に設定しました)。
残念ながら動作しません。
チュートリアルには、このように起動時のコマンドを保存すると、/jffs/dns/disable_adds.sh
起動時にスクリプトが実行されるようになると書かれています。
ルーターの Web インターフェイスのコマンド シェルを介して上記のようにスクリプトを直接起動しようとすると、次のメッセージが表示されます。
sh: eval: line 1: /jffs/dns/disable_adds.sh: not found
echo $PWD
上記のコマンド シェルで を実行すると、/www
と階層的に並列するフォルダーである が返されます/jffs
。
同じシェルで を使用するとls ../jffs/dns
、スクリプトが適切な場所にあることが示されます。 でスクリプトを実行しようとすると、../jffs/dns/disable_adds.sh
上記と同じメッセージが表示されます。
出力フィールドには、echoだけでも何も表示されないことがあり、複数のコマンドも機能しないことがあることに注意してください。
ルータがスクリプトの存在を認識しない理由と、スクリプトを実行する方法を調べるために、今からどう進めればよいのか、私には全くわかりません。
編集: 前述のチュートリアルの最後に記載されているトラブルシューティング手順をすでに試し、Windows 7 搭載の PC で動作するようにしようとしていることを述べておく必要があると思います。
編集2: コメントで提案されたようにテキストを少しフォーマットし、さらに情報を追加しました。これでより読みやすくなったと思います。
答え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 よくある質問。
答え2
私も同じ問題を抱えていました。解決策をブログに書きました。http://studioforge.xyz/how-to-configure-cisco-linksys-wrt54g-v-2-to-run-pixelserv-on-dd-wrt/結局、ファイルの 1 つに対して dos2unix を実行し、再度アップロードする必要がありました。