スリープ時間の増加中に bash ループが発生しますか?

スリープ時間の増加中に bash ループが発生しますか?

私は次のように bash で while ループを実行したいと思います。

while read i
do
    ~/bin/submit_job $i
    sleep N
done

sleep Nしかし、N in は最初は短くして、最初の数回のループの後に徐々に増やしていきたいと思います。最初の 8 秒間は 1 秒、その後は次のように秒単位で増やします。

 1 1 1 1 1 1 1 1 (first 8 iterations)
 2 2 2 2 2 2 2 2 
 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 
 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 
 ...

何か案は?

答え1

テスト済みおよび動作中:

#/bin/bash
sleeptime=1
countsleeps=1
maxcount=8

while read i
do
    ~/bin/submit_job $i
    sleep $sleeptime
    let countsleeps++
    if ((countsleeps>maxcount))
    then
        countsleeps=1
        let sleeptime*=2
        if ((sleeptime>2)) ; then let maxcount*=2 ; fi
    fi
done

関連情報