curlを使用してURLを実行する必要があり、出力に「hello」文字列が含まれている場合、シェルスクリプトから正常に終了します。その文字列がまだ含まれていない場合は、エラーメッセージを表示して終了します。特定の期間内に特定の時間内にcurlを呼び出す
私は、スクリプトの下になったが、私は、午前8時まで、ループしながら実行し、まだカール出力が「こんにちは」の文字列が含まれていない場合、方法を理解することはできませんよ?それは3時以降であれば
#!/bin/bash
while true
do
curl -s -m 2 "some_url" 2>&1 | grep "hello"
sleep 15m
done
それでは午前8時まで、カールコールを作り始めると、それはそのカールコールが「こんにちは」の文字列、エラーメッセージで午前8時出口成功した後にそれ以外の出口を与えることで成功した場合。
午後3時より前の場合は、午後3時を過ぎるまで寝ています。
スクリプト内でこのロジックを追加する必要があり、ここではcronを使用できません。
でテストスクリプトを使用することができるようなことがあり、それが午前8時の右になるまで、whileループでループし続けるのだろうか?それが成功するとすぐにできるだけ早く退場することができます。それが成功しない場合は、午前8時まで試し続けて、ゼロ以外のステータスコードとエラーメッセージで終了してください。 – user1950349
@ user1950349:私のアップデートを参照してください。成功すると終了するように変更が加えられました。エラーが発生した場合はエラーメッセージが表示されます。最後の行を参照してください。 – Inian
whileループで 'break'を使うのではなく、' exit 0'を使うと同じことになりますか?また、最後の行で 'exit 2'のような非ゼロステータスコードでエラーメッセージを出力しなければならない場合は、どうすればいいでしょうか? – user1950349