我必须使用curl执行一个URL,如果输出包含“hello”字符串,那么我将成功退出shell脚本,否则我会一直重试直到上午8点如果它仍然不包含该字符串,则会返回错误消息。在一天之内的特定时间段内调用curl
我得到了下面的脚本,但我无法理解我如何可以运行while循环到上午8点,如果仍然卷曲输出不包含“你好”字符串?
#!/bin/bash
while true
do
curl -s -m 2 "some_url" 2>&1 | grep "hello"
sleep 15m
done
所以,如果它是下午3点后,然后开始制作卷曲调用,直到上午8点,如果它与错误讯息上午8点退出成功后与卷曲电话给“你好”的字符串,成功退出,否则。
如果是在下午3点之前,它会保持睡眠,直到它通过下午3点。
我必须在脚本中添加这个逻辑,我不能在这里使用cron。
测试在这种情况下,它会不断循环在while循环,直到上午8点是正确的?我们能否尽快退出?如果不成功,那么请继续尝试到上午8点,然后以非零状态码退出并显示错误消息? – user1950349
@ user1950349:请参阅我的更新,完成所做的更改以成功退出,并在错误消息已打印失败时引用最后一行。 – Inian
一个基本的东西,而不是在while循环中使用'break',如果我使用'exit 0',那么它会是同样的事情?并且在最后一行中,如果我必须退出非零状态代码(例如“退出2”)并输出错误消息,那么我们将如何执行此操作? – user1950349