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

Jua*_*uan 3 random bash seed

我正在研究一个bash脚本,它使用$RANDOM环境变量作为模拟中的输入.变量做它说的,给出随机整数,而我到目前为止我理解它取自/dev/random.

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

che*_*ner 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.
Run Code Online (Sandbox Code Playgroud)

请注意,指定一个值来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
Run Code Online (Sandbox Code Playgroud)

  • 我更喜欢这个答案而不是目前标记为重复的内容. (2认同)