#!/bin/bash
seconds=19
echo -n "cislo je $seconds"
sleep 1
while [ $seconds -ge 0 ]
do
sleep 1
echo -en "\r`tput el`$seconds"
seconds=$(expr $seconds - 1 )
done
Vysvětlení: "\b" posune kurzor o jedno doleva, takže u jednociferných čísel to funguje hezky -- vypíše se devítka, kurzor se posune doleva a napíše osmičku -- ale u dvouciferných to jaksi nefunguje (vypíše se 11, posune se o jedno doleva a napíše 10, takže máme rázem 110). Já použil "\r", které posune kurzor na začátek řádku a ten jsem pak pomocí "tput el" vymazal.
Minuty: Chceš-li minuty/hodiny atp. tak si ten skript musíš rozšířit o funkci, která z (například) "185 sekund" zjistí kolik to je minut. (Hint: 185 / 60 = 3 a 185 % 60 = 5.)