美文网首页
Shell脚本之获取时间间隔

Shell脚本之获取时间间隔

作者: sytuzhouyong | 来源:发表于2017-04-10 20:03 被阅读204次
tick_time=0
tock_time=0

# arg1=start, arg2=end, format: %s.%N  
function getTimeInterval
{  
    start=$1  
    end=$2  
    
    start_s=$(echo $start | cut -d '.' -f 1)  
    start_ns=$(echo $start | cut -d '.' -f 2)  
    end_s=$(echo $end | cut -d '.' -f 1)  
    end_ns=$(echo $end | cut -d '.' -f 2)  

    # echo $start  
    # echo $end  

    # 10# 表示后面的值是10进制的
    time=$(( ( 10#$end_s - 10#$start_s ) * 1000 + ( 10#$end_ns / 1000000 - 10#$start_ns / 1000000 ) ))  
    echo " ---------- $time ms"  
}

function tick
{
    # %s: 毫秒  %N: 纳秒
    tick_time=$(date +%s.%N)
}

function tock
{
    tock_time=$(date +%s.%N)
    getTimeInterval $tick_time $tock_time
}

用法就是:

tick
shell 命令
tock




PS: 发现一个更加简便的方法

begin=$SECONDS
do something
end=$SECONDS
spend_time=$[end - begin]

相关文章

网友评论

      本文标题:Shell脚本之获取时间间隔

      本文链接:https://www.haomeiwen.com/subject/jcdeattx.html