ウェブサイト検索

Bashで経過時間を測定する方法


Bashスクリプトで経過時間を測定することは、さまざまなタスクのパフォーマンス、リソースの使用状況、および実行時間に関する貴重な情報を提供することができます。この情報は、パフォーマンス分析、監視、デバッグ、自動テストなど、さまざまなアプリケーションで役立ちます。このガイドでは、Bashスクリプトでの経過時間の測定方法について説明します。

bashで経過時間を測定する方法

bashスクリプトで経過時間を測定する方法はいくつかあり、これらの方法はそれぞれ、bashスクリプト内のタスクの経過時間を測定するための簡単で明確な方法を提供します。

    • 時間を通じての命令
    • 日付コマンドを通じて

時を超えて命令

「time」コマンドは、スクリプトまたはコマンドのセットの経過時間を測定するために使用できます。それに加えて、ユーザーおよびシステムのCPU時間、最大メモリ使用量、コマンドの終了ステータスなどの他の情報も提供します。このコマンドを使用してシェルスクリプトで経過時間を取得するための構文は次のとおりです:

time <command>

このコマンドの使用を示し、教育的な目的のために、簡単な作業を行い、上記の構文を使用して経過時間を測定したbashスクリプトの例コードを示しました。

#!/bin/bash
time {
  result1=$((5+7))
  result2=$((457*986))
  result3=$((855+789))
  echo "Result1: $result1"
  echo "Result2: $result2"
  echo "Result3: $result3"
  sleep 2
}

ここに、経過時間を測定するためのtimeコマンドの使用を示す例コードの出力があります:

ここでは、加算、減算、乗算の4つのタスクを実行し、システムを2秒間スリープさせます。出力は経過時間がほぼ2秒であることを示しています。

日付コマンドを通じて

Bashスクリプトで経過時間を見つける別の方法は、dateコマンドを使用することです。'date'コマンドを使うことで、指定された形式で現在の日付と時刻を取得し、変数に保存できます。以下はその構文です:

(date [Format])

フォーマット文字列には、年のための %Y、月のための %m、月の日のための %d、時のための %H、分のための %M、および秒のための %S のような日付と時刻のさまざまな要素のための異なるコードが含まれることがあります。

このコマンドの使用を示し、教育的な目的のために、簡単な作業を行い、上記の構文を使用して経過時間を測定したbashスクリプトの例コードを示しました。

#!/bin/bash
start=$(date +%s)
  result1=$((5+7))
  result2=$((457*986))
  result3=$((855+789))
  sleep 2
end=$(date +%s)
elapsed=$((end-start))
  echo "Result1: $result1"
  echo "Result2: $result2"
  echo "Result3: $result3"
echo "Elapsed time: $elapsed seconds"

ここに、経過時間を測定するための date コマンドの使用を示す例コードの出力があります:

ここでは、コードは単純に加算、減算、乗算の4つのタスクを実行し、システムを2秒間スリープさせます。経過時間を計算するために、私は date コマンドを2回使用しました。1回は開始時間を保存するため、もう1回は終了時間を保存するためです。その後、経過時間を計算するために、両方の時間の差を取ります。

結論

経過時間を計算するには、2つの方法があります。1つは「time」コマンド、もう1つは「date」コマンドです。「date」コマンドでは、開始時刻と終了時刻を保存して、その差を使って経過時間を計算します。一方、「time」コマンドは、コマンドが実行されるのにかかる時間を測定するために使用できるシェルのビルトインコマンドです。