shell 睡眠到下一整分钟

nnn*_*nnn 7 shell sleep

要在下一整分钟执行脚本,我想告诉sleep命令在下一整分钟之前休眠。我怎样才能做到这一点?

nnn*_*nnn 14

以秒为单位询问日期:date +%s并用 60(模数:)计算该部门的提醒%。如果您计算 60 减去模数,您将获得下一整分钟的剩余秒数。您可以将其更改为等到下一个完整小时(将 60 更改为 3600)。

sleep $((60 - $(date +%s) % 60)) &&
<yourscript>
Run Code Online (Sandbox Code Playgroud)

要睡到下一整分钟,您甚至可以缩短它(没有模数):

sleep $((60 - $(date +%S) )) &&
<yourscript>
Run Code Online (Sandbox Code Playgroud)

还要注意这个问题和答案:sleep直到特定时间的下一次出现

  • 这个计算是矫枉过正的,因为`date` 不仅提供了“自纪元以来的秒数”,还提供了简单的“秒数”。所以`sleep $((60 - $(date +%S)))`就足够了。 (5认同)