我正在研究一个使用$RANDOM
环境变量作为模拟输入的bash脚本。变量做它说的,给出随机整数,而我据我所知它是从/dev/random
获取的。
然而,我希望有一个可重复的模拟,然后应该用种子初始化伪随机生成器;是否可以在bash中为$RANDOM
变量设置种子?
答案 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