цикл bash при увеличении времени сна?

цикл bash при увеличении времени сна?

Мне бы хотелось иметь цикл while в bash вроде этого:

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

Но я бы хотел, чтобы N in sleep Nбыло коротким в начале, а затем постепенно увеличивалось после первых нескольких циклов. Что-то вроде одной секунды для первых 8, затем увеличивайте секунды вот так:

 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

Связанный контент