sleep(1)で待つときに、何も表示されないので自分まで眠くなってしまうことがある。じゃあ、しょうがない。これだ。完成度は低いが。
#! /bin/sh
SL=$1
TARGETDATE=$(expr $(date +%s) + $SL)
PRE=""
POST=" "
tmdiff(){
NOW=$(date +%s)
expr $1 - $NOW
}
while [ $(tmdiff $TARGETDATE) -gt 0 ] ; do
echo -ne "\r"
echo -n $PRE$(tmdiff $TARGETDATE)$POST
sleep 1
done
echo -ne "\r${PRE}Go${POST}"