OpenWRT ルーターで実行する ASH スクリプトを作成しようとしています。
nodogsplash をインストールしました。これは、ルーターで最初に認証を試みるときにログイン ページを表示します。
nodogsplash には、パスワードを変更できるコマンド ライン ユーティリティが付属しています。
ndsctl password newpassword
そのため、パスワードを新しいものに変更するために 1 日 1 回実行する cron ジョブとして設定できるスクリプトを作成しようとしていますが、正しく出力するのに苦労しています。私のスクリプトatm:
#!/bin/ash
local randompassLength
local pass
randompassLength=8
pass=</dev/urandom tr -dc A-Za-z0-9 | head -c $randompassLength
ndsctl password "$pass"
これを実行すると、次の出力が得られます。
miqM2Ah6Password set to .
エコーの開始時にパスワードをチャックし、パスワードを空白に設定しているようです。
ここで私が間違っていることはありますか?