/ / Linux bash Timer - linux, bash, instrução if, loop while

Timer bash do Linux - linux, bash, if-statement, while-loop

Ok, pergunta estúpida para iniciantes aqui. Eu pensei que estava fazendo um cronômetro de contagem regressiva. É suposto que a contagem decrescente seja de 5 e, quando estiver em 0, execute o eco "time up up clown" e termine. O que eu estou fazendo errado aqui?

seconds=5
date1=$((`date +%s` + $seconds));
while [ "$date1" -ne `date +%s` ]; do
if (!$date1 -lt ((`date +%s` + $seconds)+1)); then
echo "time is up clown";
break;
fi;
echo -ne "$(date -u --date @$(($date1 - `date +%s` )) +%H:%M:%S)r";
done

Respostas:

8 para resposta № 1
#!/bin/bash
SECS=5
while [[ 0 -ne $SECS ]]; do
echo "$SECS.."
sleep 1
SECS=$[$SECS-1]
done
echo "Time is up, clown."