timer

un timer en shell - retour accueil

git clone git://bebou.netlib.re/timer
Log | Files | Refs |

commit afcace656c9f472931496650febefe4c3b9272aa
parent ccd23b80fb9693bcc601427df8040785f363ae09
Auterice: Arthur Pons <arthur.pons@unistra.fr>
Date:   Fri, 12 Jan 2024 10:58:39 +0100

Refonte

Une fonction pour calculer le nb de secondes
Une autre fonction pour lancer et faire l'affichage
L'astuce de la boucle for et du read pour utiliser des noms de variables
qui font sens
Ca découple un peu ce qui est pas mal mais ça complexifie
Surtout histoire d'apprendre des trucs

Diffstat:
Mtimer | 20+++++++++++++++-----
1 file changed, 15 insertions(+), 5 deletions(-)

diff --git a/timer b/timer @@ -21,8 +21,18 @@ Exemples : exit 0 fi -sec=$(( ${3:-0}*3600+${2:-0}*60+${1:-0} )) -for i in $(seq $sec -1 1);do - date --date "01 jan 1970+$i seconds" +'%H:%M:%S' - sleep 0.995 -done +launch(){ + for it; do read -r "${it?}"; done + for i in $(seq $total -1 1);do + date --date "01 jan 1970+$i seconds" +'%H:%M:%S' + sleep 0.995 + done +} + +calculate(){ + for it; do read -r "${it?}"; done + echo $(( ${hours:-0}*3600+${minutes:-0}*60+${seconds:-0} )) +} + +echo "$1\n$2\n$3" | calculate seconds minutes hours | launch total +