-1
我目前正在提供带有shell脚本的Vagrant框,我想让人们知道它们在提供完成之前还剩多少时间。但是在运行脚本时,剩下的时间与传递的时间不符。我在下面的代码输出中表示了不同之处。什么是问题?谢谢!Bash时间错误
我的脚本运行如下
- 从Unix纪元获取当前时间和设定剩余时间
start=$(date +%s) ; remaining=1200
- 打印剩余
echo start=$(date +%s)
- 回声当前步骤的时间和运行步骤的脚本
echo "Moving .ssh" ; ./move_ssh.sh
重新计算剩余时间减去新时间并添加开始时间
a。这与获得从历元开始时间和当前时间之间的差异并从前一剩余时间中减去它是相同的。 (一 - (二 - C)= A - B + C)
remaining=`expr $remaining - $(date +%s) + $start`
提供脚本
start=$(date +%s) ; remaining=1200
echo "Time Remaing: $remaining ($(date "+%T"))"
echo "Moving .ssh" ; ./move_ssh.sh
...
remaining=`expr $remaining - $(date +%s) + $start` ; echo "Time Remaing: $remaining ($(date "+%T"))"
...
流浪输出
==> default: Time Remaing: 1200 (00:43:58)
==> default: Moving .ssh
==> default: Time Remaing: 1200 (00:43:58)
==> default: Installing git
==> default: Time Remaing: 1190 (00:44:08)
==> default: Installing mongodb
==> default: Time Remaing: 1140 (00:44:48) (1190 to 1140 is 50 but 44:08 to 44:48 is 40)
==> default: Installing redis-server
==> default: Time Remaing: 1082 (00:44:56) (1140 to 1082 is 68 but 44:48 to 44:56 is 8)
==> default: Installing python-pip
==> default: Time Remaing: 1001 (00:45:19) (1082 to 1001 is 81 but 44:56 to 45:19 is 23)
==> default: Installing python-dev
==> default: Time Remaing: 887 (00:45:52) (1001 to 887 is 114 but 45:19 to 45:52 is 33)
==> default: Installing mysql-server-5.5
==> default: Time Remaing: 713 (00:46:52) (887 to 713 is 174 but 45:52 to 46:52 is 60)
关闭调试我只有一个简单的问题 - 其中'1200'是从哪里来的? – pawel7318 2014-12-08 01:23:57
1200 20分钟。完成安装的大致时间 – merlinpatt 2015-01-20 18:11:14