【发布时间】:2018-06-21 08:52:39
【问题描述】:
如何编写自上次运行后延迟其命令执行几秒钟的 bash 脚本? 我的意思是存储上次执行时间的某个地方,计算与当前时间的差异,然后休眠,比如 5 秒,如果上次运行时间少于 5 秒。
【问题讨论】:
-
touch somefile将somefile的时间戳更新为当前时间。stat --format=%Y somefile以整数形式为您提供文件的时间戳(如果您有 GNU stat)。这两个命令应该是你所需要的,不是吗? (如果您需要防止多个并发调用,那么事情会变得更加棘手,并且您开始希望另外使用flock进行锁定)。 -
你为什么还要这样做?它闻起来像XY problem。可能还有其他解决方案,例如: (a) 在脚本结束时休眠; (b) 让父进程休眠; (c) 根本不睡觉; (d) 使用 cron; (e) 使用手表。
-
jenkins 中的 docker-compose 有问题。在使用 docker-compose 构建时,它是一个记录在案的错误,同时会导致重复的容器错误。所以我使用此修复程序在管道中使用 docker-compose
标签: bash