1. 使用系统的 $RANDOM 变量
$RANDOM 的范围是 [0, 32767]
注意: 在 bash 脚本中每次使用该变量都是不同的值, 如果需要在多处使用, 那么需要定义一个新的变量存储该值
1 | FILENAME=UTC-2018-04-18-13-42-54-${RANDOM} |
而不要直接
1 | ## write UTC-2018-04-18-13-42-54-${RANDOM} |
2. $RANDOM 生成超过 32767 的随机数
1 | function rand(){ |
3. 使用 date +%s%N
生成 1~50 的随机数
1 | function rand(){ |
4. 使用/dev/random 和 /dev/urandom
/dev/random 存储着系统当前运行环境的实时数据,是阻塞的随机数发生器,读取有时需要等待。
/dev/urandom 非阻塞随机数发生器,读取操作不会产生阻塞。
例:使用/dev/urandom 生成 100~500 的随机数,使用 urandom 避免阻塞。
1 | function rand(){ |
5. 使用 linux uuid
uuid 全称是通用唯一识别码,格式包含 32 个 16 进制数字,以’-‘连接号分为 5 段。形式为 8-4-4-4-12 的 32 个字符
cat /proc/sys/kernel/random/uuid
使用 linux uuid 生成 100~500 随机数
1 | function rand(){ |
6. 生成随机字符串
使用 date 生成随机字符串
date +%s%N | md5sum | head -c 10
使用 /dev/urandom 生成随机字符串
cat /dev/urandom | head -n 10 | md5sum | head -c 10
参考文档: https://blog.csdn.net/fdipzone/article/details/24329523