Você quer fazer uma contagem regressiva, enquanto a tela enquanto está ativa? Nesse caso, você pode alterar o seu loop if
e for
com while
, assim:
while (screen -list backup|grep -q backup); do
# delay
sleep 1
# display another dot
echo -n .
done
Isso exibe um ponto a cada segundo até que sua sessão screen
termine.
Quanto à contagem regressiva, como você saberia o tempo de início adequado (quantos segundos contar)?
Como alternativa, se você quiser repetir animação de 3 pontos:
# init counter
i=0;
while (screen -list backup|grep -q backup); do
# delay
sleep 1
# display dot
echo -n "."
# increase conter
i=$((i+1))
# on every 3rd loop...
if [ $i -gt 3 ]; then
# ...reset counter...
i=0
# ...and clear current line and return the cursor
echo -en "\r\e[K"
fi
done