亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

標(biāo)題: 如何在shell中實(shí)現(xiàn)兩個(gè)時(shí)間相減并輸出相差的小時(shí)數(shù) [打印本頁(yè)]

作者: 編程序了沒(méi)    時(shí)間: 2013-12-26 14:03
標(biāo)題: 如何在shell中實(shí)現(xiàn)兩個(gè)時(shí)間相減并輸出相差的小時(shí)數(shù)
如題。想在程序中查看一段代碼的運(yùn)行時(shí)間,在開(kāi)始時(shí)取得日期和時(shí)間,結(jié)束后再取一次,進(jìn)行相減,希望得到相差幾個(gè)小時(shí)。
作者: Shell_HAT    時(shí)間: 2013-12-26 14:19
  1. time
復(fù)制代碼

作者: huzikan    時(shí)間: 2013-12-26 14:23
BEGINTIME=`date +%R|sed 's/:.*//'`
...
...
ENDTIME=`date +%R|sed 's/:.*//'`

TIME=`expr  $ENDTIME - $BEGINTIME`

初學(xué)者,不知道寫得對(duì)不對(duì)~~
作者: huang6894    時(shí)間: 2013-12-26 14:24
  1. => cat jindu.sh
  2. #!/bin/bash

  3. st=`date +%s` #記錄開(kāi)始
  4. b=''
  5. for ((i=0;$i<=100;i+=2))
  6. do
  7.     printf "progress:[%-50s]%d%%\r" $b $i
  8.     sleep 0.1

  9.     b=#$b
  10. done
  11. echo

  12. en=`date +%s`  #記錄結(jié)尾
  13. min=`awk -ven=$en -vst=$st 'BEGIN{print (en-st)/60}'` #計(jì)算
  14. echo "it use $min minutes"
復(fù)制代碼
  1. => sh jindu.sh
  2. progress:[##################################################]100%
  3. 5
復(fù)制代碼

作者: 這個(gè)冬天不冷    時(shí)間: 2013-12-26 14:31
  1. [root@everIover ~]# start_time=$(date -d "20131225" +%s) #為了更好的測(cè)試 可以把d 參數(shù)去掉,這starttime是 20131225 00:00:00
  2. [root@everIover ~]# end_time=$(date +%s)#當(dāng)前時(shí)間
  3. [root@everIover ~]# echo "($end_time-$start_time)/(60*60)"|bc
  4. 38
  5. [root@everIover ~]#
復(fù)制代碼

作者: 編程序了沒(méi)    時(shí)間: 2013-12-26 16:46
可以用變量嗎回復(fù) 5# 這個(gè)冬天不冷


   
作者: 這個(gè)冬天不冷    時(shí)間: 2013-12-26 17:25
  1. shell中 只要echo 能輸出的東西 都能賦給一個(gè)變量
復(fù)制代碼

作者: huzikan    時(shí)間: 2013-12-26 20:22
本帖最后由 huzikan 于 2013-12-26 20:25 編輯

正解
     




歡迎光臨 Chinaunix (http://www.72891.cn/) Powered by Discuz! X3.2