に基づいてこれ答え、私のbashスクリプトで時間を測定するには、次のものを使用できます。
start_time="$(date -u +%s.%N)"
sleep 5
end_time="$(date -u +%s.%N)"
elapsed="$(bc <<<"$end_time-$start_time")"
echo "Total of $elapsed seconds elapsed for process"
そしてそれは素晴らしい作品です。しかし、スクリプトファイルがたくさんあるので、コードを単純化して乾燥させたいと思います。たとえば、次のようなコードを実装したいと思います。
. /time.sh
start_time=now
sleep 5
end_time=now
measure_time
つまり、time.sh
どこにでも含めることができ、2つの機能を持つ別のスクリプトが必要です。 1つは部品を交換すること"$(date -u +%s.%N)"
、もう1つは"$(bc <<<"$end_time-$start_time")"
部品を交換することです。
これらの関数を作成しましたが、シェルでは関数から値を返すことができないことに気づきました。数値のみを返すことができます。
上記のコードを下のコードに単純化する方法はありますか?
ベストアンサー1
何が間違っていますかtime ./script.sh
?
簡単な例:-
就寝時間5
real 0m5.001s
user 0m0.001s
sys 0m0.000s