【原創】shell產生指定范圍內的隨機時間


如果我們想產生,像圖示格式的隨機時間怎么辦?

小二帶來源碼分享~~  (轉載請注明出處)

 #!/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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM