-1
私はbashスクリプトでこれらの2つのfuntionsを持ってbashで時刻を正しく設定する方法は?
function start_time {
unset date1
date1=$(date +"%s")
}
function stop_time {
unset date2 diff minutes seconds hours varhours varminutes varseconds
date2=$(date +"%s")
diff=$(($date2-$date1)) # <-- There is seconds
minutes=$((($diff/60)))
seconds=$((($diff % 60)))
hours=$((($minutes/60)))
if [ $hours != 0 ]; then varhours=$(echo "$hours Hours"); fi
if [ $minutes != 0 ]; then varminutes=$(echo "$minutes Minutes"); fi
if [ $seconds != 0 ]; then varseconds=$(echo "$seconds Seconds"); fi
echo "++ $1 : $varhours $varminutes $varseconds "
}
だから私は、次の方法でそれらを実行します。
start_time
"some bash job for example sleep command for a while"
stop_time "execution time was"
スクリプトは、例えば3時間23分50秒を要する場合は、出力
実行時間だった次の方法で示しています。3時間203分50秒
正しい分を表示する方法があるかどうかということですが、123分はスクリプトが実行した合計時間であるため、予想される出力は次のようになります。 50分。
(これは組み込みのいくつかのシェルを呼び出していないことを確認するために
command time
代わりのtime
を使用している)あなたの時間が切り上げのように見えますおそらく2時間3分でなければなりません。 123分は2時間を少し超えているので。 –時間が表示されている必要がありますか、分と秒だけを使用できますか? – bluerojo
http://stackoverflow.com/questions/8903239/how-to-calculate-time-difference-in-bash-script < - スクリプトの時間差を計算する方法を示します – bluerojo