- 生成随机数
[root@73 ~]# echo $RANDOM
注:得到的这个数是小于或等于5位的整数。
- 生成随机字符串
[root@73 ~]# head -n 5 /dev/urandom |sed 's/[^a-Z0-9]//g'|strings -n 4 [root@73 ~]# head -n 5 /dev/urandom |strings -n 5 [root@73 ~]# openssl passwd -stdin < <(echo)
- 从指定字符集和中生成随机字符串
#!/bin/bash MATRIX="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz~!@#$%^&*()_+=" LENGTH="9" while [ "${n:=1}" -le "$LENGTH" ] do PASS="$PASS${MATRIX:$(($RANDOM%${#MATRIX})):1}" let n+=1 done echo "$PASS" exit 0
- 通过时间获得随机数(date)
[root@node3 test]# date +%s%N
- 通过系统内部唯一数据生成随机数(/dev/random,urandom)
[root@node3 test]# head -1 /dev/urandom
注:产生的是二进制所以显示乱码
[root@node3 test]# head -20 /dev/urandom | cksum
- 读取linux的uuid码
[root@node3 test]# cat /proc/sys/kernel/random/uuid | cksum | cut -f1 -d " "