生成随机时间,用于测试正则语法

本文共有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

「一键投喂 软糖/蛋糕/布丁/牛奶/冰阔乐!」

几人行

(๑>ڡ<)☆谢谢老板~

使用微信扫描二维码完成支付

版权声明:本文为作者原创,如需转载须联系作者本人同意,未经作者本人同意不得擅自转载。
添加新评论
暂无评论