首页 > 解决方案 > 直到循环,但如果在 5 分钟后失败,如何超时

问题描述

我有这个 2 直到在 bash 中:

until grep "1" /var/tmp/machineip > /dev/null;
do
    nova list --name spawningtestwin|grep spawningtestwin|awk -F= '{print $2}'|awk '{print $1}'|sed 's/ //g' > /var/tmp/machineip
done

mip=$(cat /var/tmp/machineip)
until ping -c1 $mip &>/dev/null; do :; done

如何将直到限制为 5 分钟?如果它在 5 分钟内没有得到任何东西,它应该停止。

标签: linuxbashshellscripting

解决方案


超时=0;直到 ping -c1 $mip &>/dev/null || 测试 "$TIMEOUT" -gt "$((5*60))" ; 做 :; 睡觉 1; 超时=$((超时+1)) ; 完毕

您可以将 5 更改为您喜欢的分钟数。


推荐阅读