📅  最后修改于: 2023-12-03 15:12:49.531000             🧑  作者: Mango
本文将介绍在bash
中生成指定范围内的随机数的几种方法。
$RANDOM
变量$RANDOM
是一个内置的环境变量,它生成一个0到32767之间的随机整数。
如果想要生成一个指定范围内的随机数,则可以使用$RANDOM
和取模运算符%
,例如:
# 生成 0 到 99 之间的随机整数
echo $((RANDOM % 100))
上述代码中,$((RANDOM % 100))
生成0到99之间的随机整数。
/dev/urandom
文件/dev/urandom
是一个Linux内核设备,它可以提供高品质的随机数。
可以使用dd
和tr
命令从/dev/urandom
中提取随机数,并使用shuf
命令来限制范围,例如:
# 生成 0 到 99 之间的随机整数
echo $(($(dd if=/dev/urandom bs=4 count=1 2>/dev/null | \
tr -dc '0-9' | head -c 2) % 100))
上述代码中,dd if=/dev/urandom bs=4 count=1 2>/dev/null
从/dev/urandom
中读取4个字节的数据,并将其管道到tr
命令中来删除非数字字符。然后,使用head -c 2
来获取前两个数字字符,并使用% 100
来限制结果在0到99之间。
shuf
命令shuf
命令可以从指定的范围中生成随机行。我们可以使用这个命令来生成指定范围内的随机数。
# 生成 0 到 99 之间的随机整数
echo $(shuf -i 0-99 -n 1)
上述代码中,shuf -i 0-99 -n 1
生成一个0到99之间的随机整数。
本文介绍了在bash
中生成指定范围内的随机数的几种方法。你可以根据自己的需要选择其中一种方法,或者根据需要自己进行修改。