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}"