在bash中为$ RANDOM环境变量播种

时间:2017-02-02 14:31:21

标签: bash random seed

我正在研究一个使用$RANDOM环境变量作为模拟输入的bash脚本。变量做它说的,给出随机整数,而我据我所知它是从/dev/random获取的。

然而,我希望有一个可重复的模拟,然后应该用种子初始化伪随机生成器;是否可以在bash中为$RANDOM变量设置种子?

1 个答案:

答案 0 :(得分:13)

从手册页:

   RANDOM Each time this parameter is referenced, a random integer between
          0 and 32767 is generated.  The sequence of random numbers may be
          initialized by assigning a value to RANDOM.  If RANDOM is unset,
          it loses its special properties,  even  if  it  is  subsequently
          reset.

请注意,为RANDOM分配值实际上是种子;指定的值不会是返回的下一个值。

$ RANDOM=1341
$ echo $RANDOM $RANDOM $RANDOM
26571 16669 28842
$ echo $RANDOM $RANDOM $RANDOM
14953 18116 2765
$ RANDOM=1341
$ echo $RANDOM $RANDOM $RANDOM
26571 16669 28842
$ echo $RANDOM $RANDOM $RANDOM
14953 18116 2765