在Bash Shell脚本中如何生成随机数
时间:2019-11-20 08:53:03 来源:igfitidea点击:
问题
在Linux脚本中,如何生成随机数?
bash shell中,如何创建随机数?
解决方案
bash shell提供了$RANDOM变量(它也与ksh一起使用)。
每次引用$RANDOM变量时,都会生成0到32767之间的随机整数。可以通过为RANDOM分配一个值来初始化随机数序列。
如果未设置RANDOM,则即使随后将其重置,它也会丢失其特殊属性。
查看$RANDOM值:
$ echo $RANDOM
输出示例:
13789
生成5个随机数:
for i in {1..5}; do echo $RANDOM; done
输出示例:
21340 38551 89213 13577 43867
您可以将随机数存储到变量,如下所示:
#!/bin/bash n=$RANDOM echo "My move: trying $n..."
获取某个范围内的随机数:
n=$RANDOM # 小于等于 200 的整数 echo $(( r %= 200 )) # 100到200之间的整数 echo $((RANDOM%200+100))
使用/dev/urandom或/dev/random生成随机数
字符特殊文件/dev/random和/dev/urandom提供了内核随机数生成器的接口。
您可以按以下方式使用/dev/urandom:
$ od -vAn -N4 -tu4 < /dev/urandom
输出示例:
1473028321
您也可以使用/dev/random,如下所示:
$ od -An -N2 -i /dev/random
输出示例:
22378