uwatch: ajouter les options -w et -p pour attendre la disparition d'un fichier ou d'un processus

This commit is contained in:
Jephté Clain 2017-09-21 00:54:32 +04:00
parent 8ad2e4c1e1
commit 52e838e383
1 changed files with 16 additions and 0 deletions

16
uwatch
View File

@ -18,6 +18,10 @@ OPTIONS
Afficher un décompte depuis DURATION jusqu'à 0 puis terminer le script.
DURATION exprimé en secondes est le premier argument du script et vaut
par défaut ${DEFAULT_DURATION} soit $(($DEFAULT_DURATION / 60)) minutes.
-f, --wfile FILE
Arrêter dès que le fichier FILE n'existe plus
-p, --wpid PID
Arrêter dès que la processus PID n'existe plus
-u, --units
Avec l'option --count, afficher l'unité: sec., min. ou heures
-o, --offset NBSEC
@ -42,6 +46,8 @@ DEFAULT_STEP=1
DEFAULT_DURATION=300
what=time
wfile=
wpid=
units=
offset=
step=
@ -52,6 +58,8 @@ args=(
-t,--time what=time
-c,--count what=count
-r,--rcount what=rcount
-f:,--wfile: wfile=
-p:,--wpid: wpid=
-u,--units units=1
-o:,--offset: offset=
-s:,--step: step=
@ -112,5 +120,13 @@ while true; do
msg="$msg (jusqu'à $until)"
esac
echo -n $'\e[1G\e[K'"$prefix$msg$suffix"
if [ -n "$wfile" -a ! -f "$wfile" ]; then
echo
break
fi
if [ -n "$wpid" ] && ! kill -0 "$wpid" 2>/dev/null; then
echo
break
fi
sleep "$step"
done