随机命令奇怪的行为

时间:2013-07-12 05:49:02

标签: bash shell random

RANDOM打印不同的输出:

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

RANDOM打印相同的输出:

[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

我无法得到这种奇怪的行为。有人可以帮我解决吗?

1 个答案:

答案 0 :(得分:1)

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