要求:生成10个文件且文件名为10个字符长度。
Linux中产生随机数的六种方法:
方法一:通过系统环境变量($RANDOM)实现,实例:
[root@mysql-db01 scripts]# echo $RANDOM
20305
[root@mysql-db01 scripts]# echo $RANDOM
1533
方法二:通过OpenSSL产生随机数,实例如下:
[root@mysql-db01 scripts]# openssl rand -base64 20
xq3TTgKFEbVM91vOxaVlFcm9/5k=
[root@mysql-db01 scripts]# openssl rand -base64 8
85jksJtRW+4=
方法三:通过时间(date)获取随机数,实例如下:
[root@mysql-db01 scripts]# date +%s%N
1500541761385704079
[root@mysql-db01 scripts]# date +%s%N
1500541763206051706
方法四:通过/dev/urandom配合chksum生成随机数,实例如下:
[root@mysql-db01 scripts]# head /dev/urandom |cksum
3528005773 4145
[root@mysql-db01 scripts]# head /dev/urandom |cksum
397462229 2644
注意:后面必须带cksum,否则是乱码
方法五:通过UUID生成随机数,实例如下:
[root@mysql-db01 scripts]# cat /proc/sys/kernel/random/uuid
be6f6907-ae36-445a-9711-f3bc7ee87cf8
[root@mysql-db01 scripts]# cat /proc/sys/kernel/random/uuid
bf3ca383-db40-41f0-9d61-92e7763d71ce
具体实现代码如下:
#!/bin/bash
#Author:dadong
#Blog:http://dadonggg.blog.51cto.com
#Time:2017-07-06 19:25:10
#Name:cd.sh
#Version:V1.0
#Description:This is a test script.
path=/data
[ -d $path ]|| mkdir $path && cd $path
for i in {1..10}
do
name=`cat /proc/sys/kernel/random/uuid|cut -c 1-10`
touch ${name}.oldboy.html
done