每秒变更一次,循环1万次。
#!/bin/bash
month=1
day=1
hour=12
minute=10
century=20
year=20
#run 5 round, sleep 1 second between rounds
round=10000
sleep_sencond=1
toString()
{
if [ $1 -lt 10 ]; then
outstring="0$1"
else
outstring=$1
fi
}
formatDate()
{
toString $month
month_string=$outstring
toString $day
day_string=$outstring
toString $hour
hour_string=$outstring
toString $minute
minute_string=$outstring
toString $century
century_string=$outstring
toString $year
year_string=$outstring
}
#entry of the shell bash
while [ $round -gt 0 ]
do
formatDate
newdate="$month_string$day_string$hour_string$minute_string$century_string$year_string"
echo "try to set date to use command: date -s -d \"$newdate\""
#the command format is : date -s -d MMDDHHSSCCYY
date "$newdate"
if [ $? == 0 ]; then
echo "success to set date to $century_string$year_string $month_string/$day_string $hour_string:$minute_string "
else
echo "failed to set date to $century_string$year_string $month_string/$day_string $hour_string:$minute_string"
fi
sleep $sleep_sencond
#new date
let month+=1
if [ $month -eq 13 ]; then
month=1
fi
let day+=1
#let day%=31
if [ $day -eq 31 ]; then
day=1
fi
let minute+=1
let minute%=60
let round-=1
done