benim bash komut bu iki fonksiyonlar varSaatin bash'da nasıl doğru ayarlanacağı?
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 "
}
yüzden şu şekilde onları yürütmek; 3 saat 203 dakika ve 50 saniye
:start_time
"some bash job for example sleep command for a while"
stop_time "execution time was"
komut, örneğin alırsa
, 3 saat 23 dakika 50 saniye, bu şu şekildeyürütme zaman çıkış gösterir
Yani, benim sorum şu ki, doğru dakikaları göstermenin bir yolu var mı, yani 123 dakika, komutun bir işi yapması için harcadığı toplam süredir, yani beklenen çıktı şu olmalıdır: 3 saat 23 dakika 50 saniye.
görünüyor (Bu yerleşik bazı kabuk demiyorsun emin olmak için
command time
yerinetime
ait kullanıyor) Muhtemelen 2 saat 3 dakika olmalıdır. 123 dakikadan beri 2 saatten biraz fazla. –Görüntülenen saatlere mi ihtiyacınız var, yoksa sadece dakikalar ve saniyeler kullanıyor musunuz? – bluerojo
http://stackoverflow.com/questions/8903239/how-to-calculate-time-difference-in-bash-script <- betikteki zaman farkının nasıl hesaplanacağını gösterir – bluerojo