#!/bin/bash # #ProG de script pour un chronomètre #le but du "jeu" : afficher le temps écouler depuis le lancement du script # heureExe="" heureExe=$(date +%T) # while : ;do clear heureCourante=$(date +%T) chrono=$heureCourante-$heureExe echo $chrono sleep 1 done #pour que ça fonctionne, mais que dalle! J'obtiens un affichage de ce type : 12:10:32-12:09:21.
Citation
mais que dalle! J'obtiens un affichage de ce type : 12:10:32-12:09:21.
:~$ a=4;b=2;echo $a $b 4 2 :~$ c=$a-$b;echo $c 4-2
:~$ let c=$a-$b;echo $c 2
date +%s
#!/bin/bash # Script pour un chronomètre # affiche le temps écouler depuis le lancement du script # HD=$(date +%s) ## Cette partie est peut-être retors, mais je ne m'imagine pas convertir des secondes en sexagésimal SC=$(date +%S) # # # # afiche les secondes en cours tpfx=60 # # # # # 60 let csc=$tpfx-$SC # # # calcul les secondes en cours jusqu'à 60 secondes while : ;do clear HC=$(date +%s) let chronoH=($HC-$HD)/3600 # affiche des heures let chronoM=($HC-$HD)/60 # affiche des minutes SC2=$(date +%S --date +"$csc"seconds) # affiche les secondes en cours avec un décalage de sdoif secondes echo -n -e '\E[1;37;46m'"$chronoH $chronoM $SC2 " sleep 1 #.5 on peut régler le rafraîchissement tput sgr0 # restauration des paramètres d'affichage par défaut doneC'est peut-être pas très élégant mais ça marche depuis 0 9 58
Citation
Un seul inconvénient auquel je n'ai pas (encore) trop réfléchi, est que j'ai mis de la couleur, mais étant donné que je sors par Ctrl-c le 'tput sgr0' n'est pas "intercepté"
C'est par pur un coup de bol que je tape Ctrl-c juste au moment de la boucle infinie qui est sur 'tput sgr0'! Enfin, maintenant, c'est 'tput init; clear'Citation
NBaH
étant donné que je sors par Ctrl-c le 'tput sgr0' n'est pas "intercepté"...
Citation
|/|BaH
Un seul inconvénient auquel je n'ai pas (encore)
trop réfléchi, est que j'ai mis de la couleur,
mais étant donné que je sors par Ctrl-c le 'tput
sgr0' n'est pas "intercepté"...
# COULEURS COLOROFF="\033[1;0m" # standart color GREENCOLOR="\033[1;32m" # green WHITECOLOR="\033[1;37m" # white BLUECOLOR="\033[1;36m" # blue DARKBLUECOLOR="\033[1;34m" # darkblue REDCOLOR="\033[1;31m" # red LILACOLOR="\033[1;35m" # lilac YELLOWCOLOR="\033[1;33m" # yellow
Pour ma part je croyais que trap servait à empêcher ctrl-c de fonctionner. (Il peut servir à ça aussi)Citation
tellmewhy
Ça m'apprendra à lire en diagonale
trap 'tput init; clear' [sigspec]...n'attrape rien. C'est bien ainsi que ça s'écrit ?
trap byebye QUIT TERM byebye() { echo "Ce n'est qu'un au revoir mon frère,..." }
trap sortie QUIT TERM sortie(){ kill -s TERM } [...]au début du script sans gain aucun.
sortie() { ... } trap 'sortie' 2
#!/usr/bin/env bash sortie() { echo "au dodo ..." exit 0 } trap 'sortie' 2 while : ; do echo "je fais un truc" sleep 2s done
Citation
NBaH
A l'aide !!!