如果命令在 X 秒内为真,则在 bash shell 脚本中运行代码

如果命令在 X 秒内为真,则在 bash shell 脚本中运行代码

我希望 if 语句仅在语句中的条件连续至少 3 秒为真时运行,如何在 Linux Bash Shell 脚本中实现它?我以前没有这样做过,通过谷歌搜索找不到任何具体信息,非常感谢任何帮助!我不是指像循环那样执行条件 x 次,而是指在运行代码块之前检查条件连续至少 x 秒/分钟是否为真的函数。

提前致谢

答案1

这是不可能的,你必须坚持循环,或者至少测试、睡眠 3、再次测试。

答案2

计算机(数字计算机)使用离散时间,他们不理解连续时间。在离散时间中,如果条件在每个样本中都为真,则该条件“保持”为真。因此,您必须运行一个循环并计算其中的成功样本。

如果您想根据时钟时间而不是重复计数来进行循环,请存储开始时间并测试循环条件中预期时间是否已经过去。

相关内容