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
我无法得到这种奇怪的行为。有人可以帮我解决吗?
答案 0 :(得分:1)
您之所以看到它,是因为每次echo $RANDOM
运行时,它都会在新的“shell”上运行。因此它具有相同的起始种子值。试试echo $RANDOM; echo $RANDOM
,您会看到不同的数字。
顺便说一句,我没有看到BASH中的行为,但我在ZSH中看到了它。