出力が変わるまでx秒ごとに実行したいスクリプトがあります。単純なwhileループまたはuntilループで、grepを使用して特定の文字列の出力を確認する方法を知っていますが、現在の反復からの出力が前の反復からの出力と等しくなくなるまでループを繰り返し続けたいと思います。
どうすればbashでこれを達成できますか?
私が得た最も近いものは以下のとおりです。コマンドは各反復で2回実行されますが、whileループは前の反復からの出力を記憶できないため、これにより余分な実行が生成されます。
while [ "$(command)" = "$(command)" ]; do sleep 10m; done
差出人man 1 watch
:
-g
、コマンド--chgexit
の出力が変更されたら終了します。
watch
POSIXでは必須ではありませんが、とにかく一般的です。DebianまたはUbuntuではprocps
、kill
and ps
(および他のいくつかのツール)とともにパッケージに含まれています。
例:
watch -g -n 5 'date +%H:%M'
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加