ajout de uwatch pour afficher un compte
This commit is contained in:
parent
4376fffe22
commit
2d2754bb24
|
@ -0,0 +1,77 @@
|
||||||
|
#!/bin/bash
|
||||||
|
# -*- coding: utf-8 mode: sh -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8
|
||||||
|
source "$(dirname "$0")/lib/ulib/ulib" || exit 1
|
||||||
|
urequire DEFAULTS
|
||||||
|
|
||||||
|
function display_help() {
|
||||||
|
uecho "$scriptname: afficher l'heure
|
||||||
|
|
||||||
|
USAGE
|
||||||
|
$scriptname [options]
|
||||||
|
|
||||||
|
OPTIONS
|
||||||
|
-t, --time
|
||||||
|
Afficher l'heure (par défaut)
|
||||||
|
-c, --count
|
||||||
|
Afficher le temps écoulé depuis le lancement de ce script
|
||||||
|
-u, --units
|
||||||
|
Avec l'option --count, afficher l'unité: sec., min. ou heures
|
||||||
|
-o, --offset NBSEC
|
||||||
|
Avec l'option --count, spécifier un nombre de secondes à partir duquel
|
||||||
|
compter
|
||||||
|
-s, --step NBSECS[=1]
|
||||||
|
Spécifier la période de rafraichissement de l'affichage
|
||||||
|
-a, --prefix PREFIX
|
||||||
|
Spécifier une chaine à afficher avant l'heure
|
||||||
|
-z, --suffix SUFFIX
|
||||||
|
Spécifier une chaine à afficher après l'heure
|
||||||
|
--cb
|
||||||
|
Equivalent à -c -s 30 -a 'Connecté depuis ' -z '...'"
|
||||||
|
}
|
||||||
|
|
||||||
|
DEFAULT_STEP=1
|
||||||
|
|
||||||
|
what=time
|
||||||
|
units=
|
||||||
|
offset=
|
||||||
|
step=
|
||||||
|
prefix=
|
||||||
|
suffix=
|
||||||
|
args=(
|
||||||
|
--help '$exit_with display_help'
|
||||||
|
-t,--time what=time
|
||||||
|
-c,--count what=count
|
||||||
|
-u,--units units=1
|
||||||
|
-o:,--offset: offset=
|
||||||
|
-s:,--step: step=
|
||||||
|
-a:,--prefix: prefix=
|
||||||
|
-z:,--suffix: suffix=
|
||||||
|
--cb '$what=count; units=1; step=5; prefix="Connecté depuis "; suffix="..."'
|
||||||
|
)
|
||||||
|
parse_args "$@"; set -- "${args[@]}"
|
||||||
|
|
||||||
|
[ -n "$step" ] || step="$DEFAULT_STEP"
|
||||||
|
setx start=date +%s
|
||||||
|
[ -n "$offset" ] && start=$(($start - $offset))
|
||||||
|
|
||||||
|
while true; do
|
||||||
|
case "$what" in
|
||||||
|
time)
|
||||||
|
setx msg=date +%H:%M:%S
|
||||||
|
;;
|
||||||
|
count)
|
||||||
|
setx now=date +%s
|
||||||
|
TZ= setx msg=date -d "@$(($now - $start))" +%H:%M:%S
|
||||||
|
msg="${msg#00:}"; msg="${msg#00:}"
|
||||||
|
if [ -n "$units" ]; then
|
||||||
|
if [ ${#msg} -ge 8 ]; then msg="$msg heures"
|
||||||
|
elif [ ${#msg} -eq 5 ]; then msg="$msg min"
|
||||||
|
elif [ ${#msg} -eq 2 ]; then msg="${msg#0} sec"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
[ ${#msg} -eq 2 ] && msg="${msg#0}"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
echo -n $'\e[1G\e[K'"$prefix$msg$suffix"
|
||||||
|
sleep "$step"
|
||||||
|
done
|
Loading…
Reference in New Issue