書式
random [SEED]

概要

random コマンドは0〜32767の疑似乱数を出力します。
非常に狭い範囲の値を無視しても、 random コマンドはその範囲内の真の乱数は得られません。

乱数を暗号目的には使ってはいけません。
衝突に注意するようにしてください。
つまり、fishセッション内において同じ乱数が2度以上現れます。

SEED が与えられれば、乱数生成の種として使われ、何も出力しません。
これは fishスクリプトのデバッグ に役立ちます。
デバッグ時は同じ乱数列を複数回得るのが好ましいからです。

いきなり random コマンドが使われたときは、現在時刻を種として使います。

実行例

以下のコードはランダムな整数から1までカウントダウンします。

for i in (seq (random) -1 1)
    echo $i
    sleep 1
end

同じ種を使うと、同じ乱数列になります。

$ random 777; echo (for i in (seq 5); random; end)
25048 5657 27833 11485 20835
$ random 777; echo (for i in (seq 5); random; end)
25048 5657 27833 11485 20835
$ random 777; echo (for i in (seq 5); random; end)
25048 5657 27833 11485 20835

最後までお読みいただき、ありがとうございました。参考になれば嬉しいです。