シェルスクリプトでランダムな数字を得る方法
Posted by yoosee on Debian at 2006-11-17 23:42 JST1 bash, zsh で $RANDOM を使う
故あってシェルスクリプトの中で 0 〜 n のランダムな数字を使う必要があったのだが、いい方法が思い付かず IRC で聞いてみた。「pid を使う」「epoch time を使う」「 dd if=/dev/urandom する」と言う方法も教えてもらったが、そもそも bash や zsh ならば $RANDOM と言う変数が用意されているらしい。RANDOM このパラメータが参照される度に、 0 から 32767 までのランダムな整数が生成されます。と言うわけで、例えば 0〜99のランダムな数字を得たいなら
num=`expr $RANDOM % 100`でよさそう。
ちなみにその時に topless と watch の話題が出たりもした。
% watch hexdump -C /dev/urandomちょっと面白い。