1
問題は、ファイルが更新されるのを待ちますが、無期限ではありません。だから、I want to check if a file has certain contentsとして - 私は&を使用して別のコマンドと組み合わせることができるように戻り値として条件が真であるかどうかを確認するにはどうすればよいですか?
while ! grep -q $contents /path/to/file
do
sleep $timer
done
それに伴い、私は、タイマーが満了しているかどうかを確認したいが、我々は戻り値で応答したいここで$タイマー== 0を言います&その後
! grep -q $contents /path/to/file && ls someFile
のようなリターンコードがある場合に供給されますと、一時的な変数の必要性が取り除かれます。
私は現在、この方法でそれをやっているが、私はwhile文自体にそれを行うには探しています:数学的表現のために
# Wait for 16, 8, 4, 2, 1 seconds each to check for progress
waitTime=16
while ! grep -q $contents $LOG_FILE
do
sleep $waitTime
waitTime=$((waitTime/2))
if [ $waitTime -eq 0 ]
then
break
fi
done
質問を正しく解析したかどうかは、「一定時間の間、条件が真であるかどうかをポーリングする方法」ですか?そうでない場合は、私の解釈とあなたが求めていた解釈との違いを明確にすることができますか? (もしそうなら、あなたの質問を編集して、意図した焦点をより明確に反映させることはできますか?) –
はい、それは正しいと思います。しかし、テスト結果が戻り値 '$? 'として返されるようにして、whileループ条件そのものに座るようにすることができるかどうかを調べたいと思っています。 –
すべての操作には終了ステータスがあります。すでに実行している '[$ waitTime -eq 0]'にもそれがあります。 –