这很不言自明,但$RANDOM变量只有在输出未通过管道传输时才会更改.这是zsh中的一个错误,还是我在某个地方缺乏理解的结果?以下是我的命令的结果:
┌──(root㉿linux)-[~/scripts]
└─# echo $RANDOM
14103
┌──(root㉿linux)-[~/scripts]
└─# echo $RANDOM
30417
┌──(root㉿linux)-[~/scripts]
└─# echo $RANDOM
3090
┌──(root㉿linux)-[~/scripts]
└─# echo $RANDOM | md5sum | head -c 20
af5655b26ab87e81ef4f
┌──(root㉿linux)-[~/scripts]
└─# echo $RANDOM | md5sum | head -c 20
af5655b26ab87e81ef4f
┌──(root㉿linux)-[~/scripts]
└─# echo $RANDOM | md5sum | head -c 20
af5655b26ab87e81ef4f
为什么会发生这种事?Bash中的相同脚本似乎也奏效了.