首页 > 代码库 > Shell脚本学习三:生成随机数

Shell脚本学习三:生成随机数

Linux中生成随机数可以使用$RANDOM这个变量。

man bash命令查看对RANDOM的解释。


RANDOM Each time this parameter is referenced, a random integer between 0 and 32767 is generated。


可以看出,$RANDOM生成的随机数范围在0到32767之间。


如果想要生成0到9之间的随机数,就可以对10取模运算,这样就可以得到0到9之间的随机数。

[root@ssspure ~]# echo $(($RANDOM%10))
8
[root@ssspure ~]# echo $(($RANDOM%10))
6
[root@ssspure ~]# echo $(($RANDOM%10))
2
[root@ssspure ~]# echo $(($RANDOM%10))
0
[root@ssspure ~]# echo $(($RANDOM%10))
2
[root@ssspure ~]# echo $(($RANDOM%10))
9
[root@ssspure ~]# echo $(($RANDOM%10))
6
[root@ssspure ~]# echo $(($RANDOM%10))
5


随机生成1到10位的随机数字和验证码

[root@ssspure ~]# echo $(($RANDOM)) | md5sum | cut -c 1-10
5c55ba28b1
[root@ssspure ~]# echo $(($RANDOM)) | md5sum | cut -c 1-10
fd6d39d9c1
[root@ssspure ~]# echo $(($RANDOM)) | md5sum | cut -c 1-10
2bfb089c18
[root@ssspure ~]# echo $(($RANDOM)) | md5sum | cut -c 1-10
08089f9be1

使用md5sum对生成的随机数进行解析,在使用cut -c按照字符来进行分割


在求一个变量的长度的时候,可以使用${#var}

[root@ssspure ~]# a=abcdef
[root@ssspure ~]# echo ${#a}
6

本文出自 “ssspure” 博客,请务必保留此出处http://ssspure.blog.51cto.com/8624394/1862378

Shell脚本学习三:生成随机数