我需要在程式關閉後立即獲取程式的運行時間,我想出了這個
start=`date +"%M"`
while [ `pgrep vlc` ];do
echo vlcopen > /dev/null
done
stop=`date +"%M"`
[ $stop -lt $start ]&&time=$[ 60-$start+$stop ]||time=$[ $stop-$start ]
echo $time > time.txt
它可以完成工作,但是效率非常低,並且需要大量的杯子使用,我該如何更有效地做到這一點
答案1
一種選擇是使用time
注意:Bash 有一個關鍵字,time
因此如果您這樣做:
time some command
你time
在男人身上發現的time
通常是這樣的/usr/bin/time
$ type -t time
keyword
使用要點非bash時間是像-v
(GNU time
)這樣的功能。
答案2
SECONDS=0
# do stuff here, such as
sleep 5
duration=$SECONDS
echo "The stuff took $duration seconds to complete"
透過消除產生外部進程的需要來提高效率。