如果我們想產生,像圖示格式的隨機時間怎么辦?
小二帶來源碼分享~~ (轉載請注明出處)
#!/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