1時間ごとにN回の操作(同じ操作)を計算する必要があります。
今のところ私は自分の操作を行っていますが、1時間にN回実行することを理解できません。
#!/bin/bash
N=10;
# my operation
sleep 3600/${N}
なにか提案を?
さて、あなたが今書いているように、それは「私の操作」を一度だけ実行し、その後6分間スリープしてから終了します。必要なのは、これら2つの線の周りのループ構造です。bash
いくつかの異なるループ構造をサポートしますが、おそらくこの場合の最も単純なものは次のとおりです。
#!/bin/bash
N=10
((delay=3600/N))
while true
do
# do something
sleep ${delay}
done
もちろん、この場合、ループを終了するための準備はありません。そのため、^C
またはkill
または何かで終了する必要があります。特定の回数だけ実行したい場合は、for
代わりにループを使用するか、反復ごとに特定のファイルが[存在しない]かどうかを確認し、そのファイルを作成または削除するときにループを終了することができます。 。最も適切なアプローチは、実際にやろうとしていることの全体像によって異なります。