使用time 命令做的
先看运行效果
>>> sh stopwatch.sh
Usage: stopwatch
'R/r': start Time
'S/s': stop Time
'C/c': clear
'*': others character print time
input 'r' to start run:
start
1---0m3.598s
2---0m1.897s
3---0m2.026s
4---0m0.960s
5---0m1.692s
5---0m0.142s
6---0m1.041s
7---0m0.581s
q---0m1.936s
w---0m0.305s
e---0m0.298s
r---0m0.343s
t---0m0.337s
s
real 0m17.098s
user 0m0.047s
sys 0m0.059s
脚本代码
#! /bin/sh
print_help(){
cat<<EOF
Usage: stopwatch
'R/r': start Time
'S/s': stop Time
'C/c': clear
'*': others character print time
EOF
}
IS_start(){
while true;do
read -n 1 -sp "input 'r' to start run:" chr
if [ "$chr" = "R" ] || [ "$chr" = "r" ];then
echo ""
echo "start"
break;
else
echo ""
fi
done
}
gettime(){
time read -n 1 chr
case $chr in
's'|'S')
return 2;;
'c'|'C')
clear
IS_start
return 1;;
* )
return 0;;
esac
}
StopWatch(){
while true;
do
chr=0
wacth=$( gettime 2>&1 )
case $? in
0|1) ;;
2) break;;
esac
echo $wacth | awk -F ' ' '{print "---" $2}'
done
}
print_help
IS_start
time StopWatch