because the line is NOT BEING CLEANED which causes after the loop finishes to make the cursor write over the text without cleaning it first
there's 2 solutions:
read -p"Enter timer length (seconds): " num
echo "Timer starting...now"
sleep 1
for i in $(seq 1 $num)
do
echo -en "$num second(s) remaining\r"
sleep 1
done
echo -e "\r\033[K\033[34mTimer Finished\033[0m"
read -p"Enter timer length (seconds): " num
echo "Timer starting...now"
sleep 1
for i in $(seq 1 $num)
do
echo -en "$num second(s) remaining\r"
sleep 1
done
echo -e "\n\033[34mTimer Finished\033[0m"