如果我们想产生,像图示格式的随机时间怎么办?
小二带来源码分享~~ (转载请注明出处)
#!/bin/sh ######################################## #产生指定范围的随机年月日(YY-MM-DD HH:MM:SS),以10年为例 #1、定义4个函数 #2、调用函数,拼接输出字符串 # #Created by: 枫林阁小二 @博客园 ####################################### #定义函数,产生随机年月日 ran_ymd(){
#产生范围在0~3650(包含3650)的随机数;下面几个函数同理 num=$(($RANDOM%3651))
#定义变量ymd,赋值(格式yyyy-mm-dd) ymd=`date -d "${num} days ago" +%Y-%m-%d` echo ${ymd} } #产生指定范围的小时 ran_hour(){ x=`echo {00..23}`
#定义数组.至于为什么最大数是23,读者请自己想 >-< array=($x) num=$(($RANDOM%24))
#产生出来的随机数,直接关联数组下标,求得随机数 hour=`echo ${array[${num}]}` echo ${hour} } #产生指定范围的分钟 ran_min(){ x=`echo {00..59}` array=($x) num=$(($RANDOM%60)) min=`echo ${array[${num}]}` echo ${min} } #产生指定范围的秒 ran_sec(){ x=`echo {00..59}` array=($x) num=$(($RANDOM%60)) sec=`echo ${array[${num}]}` echo ${sec} } #产生指定的时间,格式 YYYY-MM-DD HH:MM:SS ran_time(){ a=`ran_ymd` b=`ran_hour` c=`ran_min` d=`ran_sec` #开始拼接 time1=`echo "${a} ${b}:${c}:${d}"` echo ${time1} } #下面开始验证功能,循环50次打印结果 for i in {1..50} do result=`ran_time` #拼接变量输出字符串 echo ${result} done