0
DD-WRT Webインターフェイスで、ルータのMACアドレスをランダム化する小さなスクリプトをテストしています。スクリプトはawkを使ってランダム化を行います。このスクリプトは、awkがの012Bシバン(#!/ bin/bash)なしで使用されている場合(awkではなくシバンを含む)と同様に動作します。ただし、シンプルと awkの両方が使用されている場合、スクリプトは機能しません。BashとAwk Strange Behavior(DD-WRT)
nvram set mac_clone_enable=1;
nvram set def_hwaddr=$(awk 'function m(n){srand(systime()+n);return":"(10+int(rand()*99));}END{print "A4"m(1)m(2)m(3)m(4)m(5);}');
nvram commit;
rc restart;
はまた、作品行(shebangを持って、ないのawk):
#!/bin/bash
nvram set mac_clone_enable=1;
nvram set def_hwaddr="02:44:55:66:77:88";
nvram commit;
rc restart;
が動作しない行(shebang
ワークス(awkの、ないシェバングを使用しています) awk):
#!/bin/bash
nvram set mac_clone_enable=1;
nvram set def_hwaddr=$(awk 'function m(n){srand(systime()+n);return":"(10+int(rand()*99));}END{print "A4"m(1)m(2)m(3)m(4)m(5);}');
nvram commit;
rc restart;
awkを使ってシバンを持っているので、cronジョブで使うことができるスクリプトが必要です。何が問題なの?
wrt「スクリプトは機能しません」 - どのように動作しないかを教えてください - 出力が間違っている、出力がありません、コアダンプ、エラーメッセージなど...問題を診断するために整備士に依頼するときうまくいけば、あなたの車を指差すだけではなく、「うまくいかない、何が問題になるのだろう」と言いたいのです。 –
@EdMorton MACアドレスが動作していないときに変更されていませんでした。ユーザーkarakfaはソリューションを提供しました。 – user3163495
それが問題だった場合、あなたが言った解決策が実際に同じawkバージョンで動作することは、可能ではありません。私は実際の問題は、あなたがawkの各バージョンを各スクリプトで呼び出すことだと思っています。それはあなたがいなくても後であなたを噛ませるために戻ってくるものです。 –