在bash/shell脚本中增加时间(分钟和秒)

cbr*_*008 6 bash shell time

我需要在变量中增加分钟和秒(与时间相关).

首先,我不确定是否将'time'变量声明为

time="00:00:00" 
Run Code Online (Sandbox Code Playgroud)

要么

 time=$(date +00:00:00)?
Run Code Online (Sandbox Code Playgroud)

从那里,我想了10分钟,造成秒递增这个变量

01:00:00提高到
1点10分10秒到
1点20分二十秒等(一路到午夜- 00:00:00)

什么这将是实现这一目标的最佳方式吗?

我知道这样做 $ date -d "2010-07-07 200 days"会增加(200)天,但我不知道如何将这个例子应用于时间(分钟和秒)而不是日期?

所有回复都非常感谢.

Chr*_*s J 5

请注意,这只是Linux.date -d在BSD unixes(可能还有其他人)做了一些显着不同的事情(并且不尽如人意).

您可以使用纪元时间 - 即自1970年1月1日00:00:00以来的秒数,例如:

#!/bin/bash

time=0
echo `date -d "1970-01-01 00:00:00 UTC $time seconds" +"%H:%M:%S"`
time=$((time + 600))
echo `date -d "1970-01-01 00:00:00 UTC $time seconds" +"%H:%M:%S"`
time=$((time + 600))
echo `date -d "1970-01-01 00:00:00 UTC $time seconds" +"%H:%M:%S"`
Run Code Online (Sandbox Code Playgroud)

给出这个输出:

$ /tmp/datetest.sh
00:00:00
00:10:00
00:20:00
$
Run Code Online (Sandbox Code Playgroud)