このスレッドスクリプトの実行にかかる時間を測定する方法を示します。私の場合は、時間を測定することに興味があります。 スクリプトの2点間。以下は、私がどのように使用したいのかの例です。
start_measuring_time
Line 1
Line 2
..
Line N
stop_measuring_time
show_elapsed_time
表示したい時間は人が読める(秒、分、時間、日など)可能であれば。これを行う方法についてのアイデアはありますか?
答え1
以下を使用できますtime
。
time (
Line 1
Line 2
..
Line N
)
時間の出力は人間が読むことができると思いますが、スクリプトが日単位で測定する場合は、出力の書式man time
設定オプションを確認してください。
答え2
date
ユーティリティを使用できます。
#!/bin/bash
start_measuring_time() {
read s1 s2 < <(date +'%s %N')
}
stop_measuring_time() {
read e1 e2 < <(date +'%s %N')
}
show_elapsed_time() {
echo "$((e1-s1)) seconds, $((e2-s2)) nanoseconds"
}
start_measuring_time
sleep 2
stop_measuring_time
show_elapsed_time
答え3
Timerscript.shの試みの例:
#!/bin/bash
#timing in minutes with %m
start=`date +%m`
echo 'Start:' $start
#do something e.g. wait for 1.30 minutes
sleep 90
`end=`date +%m`
echo 'End: '$end
echo 'runtime: '$runtime