-3

「通常の」(つまり「フル」)Linuxディストリビューションでは、問題なく動作します。sleep

$(echo "$ [($ RANDOM%9)]")

ok、約0〜9秒待機します

が、OpenWRTでは[ bashを使用せず、むしろ "ash"]:

$ sleep $(echo "$ [($ RANDOM%9)]")sleep:無効な数値'$ ['$

および理由:

$ echo "$ [($ RANDOM%9) ] "$ [(%9)] $

では、OpenWRTで乱数を生成する方法はありますか?それで、「スリープ」状態にすることができますか?

ありがとうございました

4

3 に答える 3

7

次のようなことを試してみてください:

sleep `head /dev/urandom | tr -dc "0123456789" | head -c1`

私のWhiteRussian OpenWRTルーターで動作します。

これが常に数字を返すかどうかは実際にはわかりませんが、返される場合は常に0〜9と1桁のみが返されます(2番目の頭を-c2にした場合、99まで上げることができます)。

幸運を!

于 2011-01-13T10:36:15.273 に答える
7

awk を使用することもできます

sleep $(awk 'BEGIN{srand();print int(rand()*9)}')
于 2012-03-30T19:31:49.917 に答える