Webページを取得し、コンテンツを変数に保存し、文字列「SUCCESS」を探すposixスクリプト(Linux)に取り組んでいます。文字列が見つかった場合、ループの内容は実行されません。文字列が見つからない場合は、見つかるまでループが何度も実行されます。while ループの制御ステートメントですべての curl と grep を実行しようとしていますが、それが可能かどうかはわかりません。これまでのところ成功していません。
while [ -z "site_status=`curl http://www.example.com/index.html | grep -o 'SUCCESS'`" ];
do
if [ `echo "$site_status" | grep -o 'WAIT'` ]; then
sleep 10s
elif [ `echo "$site_status" | grep -o 'RETRY'` ]; then
sleep 10s
else
exit 1
done
スクリプトをできるだけクリーンにしたいので、Web ページのコンテンツをグローバル変数に保存し、この変数を while ループで使用する関数を作成しないようにしています。
上記のwhileループを機能させる方法に関する提案はありますか? それともよりクリーンなソリューションですか?