Linux bash Timer

2 linux bash if-statement while-loop

好的,愚蠢的新手问题在这里.我以为我正在倒计时器.这应该从5倒计时,一旦它在0,然后执行回声"时间到了小丑"然后结束.我在这做错了什么?

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
Run Code Online (Sandbox Code Playgroud)

小智 8

#!/bin/bash
SECS=5
while [[ 0 -ne $SECS ]]; do
    echo "$SECS.."
    sleep 1
    SECS=$[$SECS-1]
done
echo "Time is up, clown."
Run Code Online (Sandbox Code Playgroud)