これが私が達成しようとしていることです。文字列が一致するまでループを実行し、do コマンドを 1 回実行して、残りのスクリプトに進みたいですか? 例えば
string=`tail /var/myapp/main.log|sort -k5 | awk '{print $4}'`
while [ $string = "failed" ] do
service restart myapp
break
done
echo "blah blah blah as the rest of the script"
echo "on and on"
まで使ってみましたが、それは間違いないと思います。正しいコマンドを使用していない可能性があります。「IF」は機能しません。特定の時間に探しているものが見つかるまで、これを 1 日に 1 回実行し、それを実行し、残りのスクリプトを実行して完了するまで実行したいからです。どんなに試しても、ループし続けます... 永遠に。一度だけやってみたいです。