シェルプログラム内の処理毎に時間計測をしたりタイムスタンプを出力する方法です。
test.sh
#!/bin/sh echo `date '+%y/%m/%d %H:%M:%S'` #処理時間を計測したい処理#ここでは仮にsleep 5 としています sleep 5 echo `date '+%y/%m/%d %H:%M:%S'`
これを実行すると、
$ ./test.sh 13/06/09 09:43:35 13/06/09 09:43:40
このように簡単にタイムスタンプを出力することが可能です。
AからBの間の処理時間を計測したい場合は以下のようにすることができます。
test2.sh
#!/bin/sh TIME_A=`date +%s` #A #処理時間を計測したい処理 #ここでは仮に sleep 5 としています sleep 5 TIME_B=`date +%s` #B PT=`expr ${TIME_B} - ${TIME_A}` H=`expr ${PT} / 3600` PT=`expr ${PT} % 3600` M=`expr ${PT} / 60` S=`expr ${PT} % 60` echo "${H}:${M}:${S}"
実行すると、
$ ./test2.sh 0:0:5
AとBの間の処理時間を時分秒の形式で出力します。
初めまして。
シェルプログラミング、勉強させていただきます。