概要
シェルスクリプトを書いていて、乱数が使いたいなーと思ったときにつかえるコマンドをご紹介します。
${RANDOM}
をつかう
bashのシェル変数である${RANDOM}
を利用します。
この変数は参照されるたびに0~32767の値を返します。
手っ取り早いですが、あまり乱数の精度としては高くないという欠点があります。
$ echo ${RANDOM} 15332
/dev/random
または/dev/urandom
をつかう
これらの疑似デバイスを利用することでより精度の高い乱数を生成することができます。
デバイスドライバや環境によるノイズを利用して真の乱数性を得ることができます(よくわかっていない)
実行する際は以下のようにod
コマンドを利用し読み出す必要があります。
$ od -An -tu2 -N2 /dev/random 53488
$ od -An -tu2 -N2 /dev/urandom 33190
(/dev/random
と/dev/urandom
の違いについてはむずかしいので省略します 。)
jot
コマンドをつかう
このコマンドはseq
などと同様に数列を生成するのに長けているコマンドですが、-r
オプションをつけることで乱数を生成することができます。
また、乱数の範囲を設定することも可能です。
jot -r データ数 下限値 上限値
で指定します。
$ jot -r 5 7 15 8 10 14 9 8
おわりに
ひさしぶりにまじめに書いた。
[改訂第3版]シェルスクリプト基本リファレンス ──#!/bin/shで、ここまでできる (WEB+DB PRESS plus)
- 作者: 山森丈範
- 出版社/メーカー: 技術評論社
- 発売日: 2017/01/20
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (1件) を見る