shell时间统计的天数输出错误,各位帮花1分钟看一下

sh/bash/dash/ksh/zsh等Shell脚本
回复
u-u-ubuntu
帖子: 5
注册时间: 2007-10-06 15:40

shell时间统计的天数输出错误,各位帮花1分钟看一下

#1

帖子 u-u-ubuntu » 2007-10-06 15:59

打算在备份系统的脚本中,想对备份所花的时间进行统计,结果在调试时间脚本时发现天数输出有问题。虽然备份一次系统不会花一天的时间,但这问题总感不爽,特来请教各位,问题出在哪?谢谢大家!

#=================================================
#!/bin/bash
#
declare -i d1 d2 dd
declare -i t_d t_h t_m t_s
# var stand for: t_d---days; t_h---hours; t_m---min; t_s=seconds
d1=`date -d "2007-10-6" +%s`
d2=`date -d "2007-10-10" +%s`
echo "d1=>"$d1
echo "d2=>"$d2
let dd=$d2-$d1
echo "dd=>"$dd
let t_s=$dd%60
let t_m=$dd/3600
let t_h=$dd/216000
let t_d=$dd/518400
echo "backup process time(D:H:M:S)=> $t_d : $t_h : $t_m : $t_s"

#===================================================
我电脑上的输出是:
d1=>1191600000
d2=>1191945600
dd=>345600
backup process time(D:H:M:S)=> 0 : 1 : 96 : 0
###############################

d2=>1191945600 这一行结算特不爽,我给的是"2007-10-10",怎么有分钟了......
头像
alinmn
帖子: 185
注册时间: 2006-05-19 21:42
来自: NIT

#2

帖子 alinmn » 2007-10-08 12:52

let t_m=($dd/60)%60;
let t_h=($dd/3600)%24;
let t_d=($dd/3600)/24;
u-u-ubuntu
帖子: 5
注册时间: 2007-10-06 15:40

#3

帖子 u-u-ubuntu » 2007-10-08 21:40

谢谢楼上,这回明白了。
回复