繁体   English   中英

bash运行命令一段时间

[英]bash run commands for a period of time

我正在尝试使用 bash 中的系统时间来运行一些命令。
这是我尝试过的简化版本

echo $(date +%s); while [ $(($(date +%s)+10)) -gt $(date +%s) ]; do echo $(date +%s); done

我将 10 秒添加到当前时间并在 while 循环中打印时间。
我看到的是程序运行了 10 秒以上,我必须按 ctrl+C 才能停止。

您检查当前时间 + 10 秒是否大于循环中的当前时间。 这将永远是真的。 while (( (X+10) > X ))一样

您可以在开始循环之前计算结束时间并在比较中使用它:

starttime=$(date +%s)
(( endtime = starttime + 10 ))

echo "$starttime - $endtime"

while (( endtime > $(date +%s) )); do
    date +%s
done

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM