Case 01:

——通过系统环境变量($RANDOM)实现 
命令:echo 
示例: 
[root@node1 ~]# echo $RANDOM 
28380 
[root@node1 ~]# 

注:使用echo命令直接打印出当前系统环境变量RANDOM,生成的数字大小是随机的

Case 02:

——通过openssl产生随机数 
命令:openssl 
示例: 
[root@node1 ~]# openssl rand -base64 8 
K0mL+HZU73g= 
[root@node1 ~]# openssl rand -base64 24 
wuowHv1YDhU17H65uURe/vX+c21yJb7U 
[root@node1 ~]# openssl rand -base64 20 
XwPXBykcFRCS5zlDQ0bz5QRiw0g= 
[root@node1 ~]# 

注:在openssl 中生成随机数的函数是定义在rand.sh文件中,根据加密算法生成随机数

Case 03:

——通过 “时间命令”(date)获取随机数 
命令:date 
示例: 
[root@node1 ~]# date +%s%N 
1508838704140538350 
[root@node1 ~]# date +%s%N 
1508838714903421144 
[root@node1 ~]# 

注:使用date命令,直接产生秒数并加入纳秒数

Case 04:

——通过/dev/urandom或random配合cksum命令产生随机数 
命令:head,cksum 
示例: 
[root@node1 ~]# head /dev/urandom | cksum 
2102319630 2269 
[root@node1 ~]# head /dev/urandom | cksum 
1342505153 2154 
[root@node1 ~]# head /dev/urandom | cksum 
1876617057 2447 
[root@node1 ~]# 

注:利用Linux两个特殊设备产生随机数,随机数原理是利用系统熵池计算一定数量随机比特

Case 05:

——通过UUID产生随机数 
命令:cat 
示例: 
[root@node1 ~]# cat /proc/sys/kernel/random/uuid 
ba563ea6-9302-4563-8deb-570352e30312 
[root@node1 ~]# cat /proc/sys/kernel/random/uuid 
1d19f3f9-8fe0-4249-8329-b56e9dfbf925 
[root@node1 ~]# 

注:利用系统内核提供的UUID码产生随机数

Case 06: 
——使用Linux系统自带的密码生成工具mkpasswd生成随机数 
命令:mkpasswd 
[root@node1 ~]# mkpasswd 
09mXzgQz\ 
[root@node1 ~]# mkpasswd -l 20 
bqa2qfgWd|aiDo1cevuz 
[root@node1 ~]# mkpasswd -l 20 -d 3 -C 3 -c 3 -s 3 
X&_!h1ucggwt9Nhg0aPl 
[root@node1 ~]# 

注:需安装expect包,mkpasswd命令具体使用请使用 man mkpasswd查看

Case 07: 
——利用awk随机函数生成随机数 
命令:awk 
示例: 
[root@node1 ~]# awk 'BEGIN{srand();print rand()*1000000}' 
840968 
[root@node1 ~]# awk 'BEGIN{srand();print rand()*1000000}' 
438963 
[root@node1 ~]# awk 'BEGIN{srand();print rand()*1000000}' 
111150 

注:可加 if 判断

done……