1

RANDOM 打印不同的输出:

[root@manage /root]# echo $RANDOM
7207
[root@manage /root]# echo $RANDOM
8761
[root@manage /root]# echo $RANDOM
29922

随机打印相同的输出:

[root@manage /root]# value=`echo $RANDOM`
[root@manage /root]# echo $value 
5286
[root@manage /root]# value=`echo $RANDOM`
[root@manage /root]# echo $value
5286
[root@manage /root]# value=`echo $RANDOM`
[root@manage /root]# echo $value
5286

我无法接受这种奇怪的行为。谁能帮我解决它?

4

1 回答 1

1

您看到它的原因是因为每次echo $RANDOM运行时,它都在一个新的“shell”上运行,因此它具有相同的起始种子值。试试看echo $RANDOM; echo $RANDOM,你会看到不同的数字。顺便说一句,我在 BASH 中没有看到这种行为,但我在 ZSH 中看到了。

于 2013-07-12T20:54:28.890 回答