美文网首页
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