生成随机时间,用于测试正则语法 本文共有4952个字,关键词: ``` #!/bin/bash #Version:0.0.1 #Author:stone #Discription:get random date. #获取指定的数字用于循环 while :; do read -p "please input number:" number if [ "$(echo $number |sed "s/[0-9]//g")" != "" ]; then echo -e "\033[31minput not number!please try again!\033[0m" continue #不是数字就继续下次输入循环 else break #为数字时退出循环 fi done i=1 while [ $i -le $number ]; do #随机的年 dateY=$((${RANDOM}%19)) #随机的月 dateM=$((${RANDOM}%13)) #随机的日,大月 dateD1=$((${RANDOM}%32)) #随机的日,小月 dateD2=$((${RANDOM}%31)) #随机的日,闰二月 dateD3=$((${RANDOM}%30)) #随机的日,平二月 dateD4=$((${RANDOM}%29)) #随机的小时 dateh=$((${RANDOM}%24)) #随机的分钟 datem=$((${RANDOM}%60)) #随机的秒 dates=$((${RANDOM}%60)) #判断月份决定日期,大月 if [ $dateM -eq 1 -o $dateM -eq 3 -o $dateM -eq 5 -o $dateM -eq 7 -o $dateM -eq 8 -o $dateM -eq 10 -o $dateM -eq 12 ]; then if [ $dateY -lt 10 ]; then dateY="0$dateY" fi if [ $dateM -eq 0 ]; then dateM=1 #月份如果结果为0,赋值为1 fi if [ $dateM -lt 10 ]; then dateM="0${dateM}" #月份如果小于10,在数值前加0 fi if [ $dateD1 -eq 0 ]; then dateD1=1 #日子如果等于0,赋值为1 fi if [ $dateD1 -lt 10 ]; then dateD1="0$dateD1" fi #时分秒的随机 if [ $dateh -eq 0 ]; then dateh=1 fi if [ $dateh -lt 10 ]; then dateh="0$dateh" fi if [ $datem -lt 10 ]; then datem="0$datem" fi if [ $dates -lt 10 ]; then dates="0$dates" fi date -s "${dateh}:${datem}:${dates}" date -s "20${dateY}${dateM}${dateD1}" date +%F-%T >>./date.txt date +%D-%T >>./date.txt date >>./date.txt fi #判断月份决定日期,小月 if [ $dateM -eq 4 -o $dateM -eq 6 -o $dateM -eq 9 -o $dateM -eq 11 ]; then if [ $dateY -lt 10 ]; then dateY="0$dateY" fi if [ $dateM -eq 0 ]; then dateM=1 #月份如果结果为0,赋值为1 fi if [ $dateM -lt 10 ]; then dateM="0${dateM}" #月份如果小于10,在数值前加0 fi if [ $dateD2 -eq 0 ]; then dateD1=2 #日子如果等于0,赋值为1 fi if [ $dateD2 -lt 10 ]; then dateD2="0$dateD2" fi #时分秒的随机 if [ $dateh -eq 0 ]; then dateh=1 fi if [ $dateh -lt 10 ]; then dateh="0$dateh" fi if [ $datem -lt 10 ]; then datem="0$datem" fi if [ $dates -lt 10 ]; then dates="0$dates" fi date -s "${dateh}:${datem}:${dates}" date -s "20${dateY}${dateM}${dateD2}" date +%F-%T >>./date.txt date +%D-%T >>./date.txt date >>./date.txt fi #判断二月份决定日期 if [ $dateM -eq 2 ]; then if [ $dateY -lt 10 ]; then dateY="0$dateY" fi year="20$dateY" if [ $(($year%4)) -ne 0 ]; then if [ $dateM -eq 0 ]; then dateM=1 #月份如果结果为0,赋值为1 fi if [ $dateM -lt 10 ]; then dateM="0${dateM}" #月份如果小于10,在数值前加0 fi if [ $dateD3 -eq 0 ]; then dateD3=1 #日子如果等于0,赋值为1 fi if [ $dateD3 -lt 10 ]; then dateD3="0$dateD3" fi #时分秒的随机 if [ $dateh -eq 0 ]; then dateh=1 fi if [ $dateh -lt 10 ]; then dateh="0$dateh" fi if [ $datem -lt 10 ]; then datem="0$datem" fi if [ $dates -lt 10 ]; then dates="0$dates" fi date -s "${dateh}:${datem}:${dates}" date -s "20${dateY}${dateM}${dateD3}" date +%F-%T >>./date.txt date +%D-%T >>./date.txt date >>./date.txt else if [ $dateM -eq 0 ]; then dateM=1 #月份如果结果为0,赋值为1 fi if [ $dateM -lt 10 ]; then dateM="0${dateM}" #月份如果小于10,在数值前加0 fi if [ $dateD4 -eq 0 ]; then dateD4=1 #日子如果等于0,赋值为1 fi if [ $dateD4 -lt 10 ]; then dateD4="0$dateD4" fi #时分秒的随机 if [ $dateh -eq 0 ]; then dateh=1 fi if [ $dateh -lt 10 ]; then dateh="0$dateh" fi if [ $datem -lt 10 ]; then datem="0$datem" fi if [ $dates -lt 10 ]; then dates="0$dates" fi date -s "${dateh}:${datem}:${dates}" date -s "20${dateY}${dateM}${dateD4}" date +%F-%T >>./date.txt date +%D-%T >>./date.txt date >>./date.txt fi fi let i++ done ``` 「一键投喂 软糖/蛋糕/布丁/牛奶/冰阔乐!」 赞赏 × 几人行 (๑>ڡ<)☆谢谢老板~ 2元 5元 10元 50元 100元 任意金额 2元 使用微信扫描二维码完成支付 版权声明:本文为作者原创,如需转载须联系作者本人同意,未经作者本人同意不得擅自转载。 shell脚本 2017-03-11 评论 1876 次浏览