の世界で Bash プログラミング時間の使い方をマスターすることは、論理そのものと同じくらい重要な場合が多い。 スリープコマンド は、 スクリプトを中断する、 時間遅延 または 所要時間 2 つの命令の間。シンプルでネイティブかつ軽量なので、あらゆる コマンドライン またはスクリプトオートメーションこの実践ガイドでは、具体的な例とベストプラクティスを用いて、それを効果的に使用する方法を示します。 シェルスクリプト。
sleepコマンドの構文と時間単位
そこには スリープコマンド 最小限の構文に基づいています。 [nombre]寝る [suffixe]数値パラメータは期間を示し、接尾辞は単位を決定します。デフォルトでは、接尾辞が指定されていない場合、一時停止は秒単位で表されます。この柔軟性により、 時間遅延 あらゆるニーズに対応します。
| 🕒 接尾辞 | ユニット | 例 |
|---|---|---|
s (デフォルト) |
秒 | 睡眠5 → 5秒 |
メートル |
分 | 2メートル寝てください → 2分 |
h |
営業時間 | 1時間寝る → 1時間 |
d |
日数 | 0.5日間睡眠 → 12時間 |
小数値(例: 0.5秒眠る)はほとんどの最新システムでサポートされており、ミリ秒単位の精度を提供します。この柔軟性により、 スリープコマンド 次のようなシナリオには不可欠です 所要時間 終了は必須です。
接尾辞を理解して精密な制御を行う
各単位は特定のユースケースに対応しています。スクリプト内の2つのコマンド間の単純な待機には、秒で十分です。サービスの再起動を遅延させる場合は、分の方が適切です。時間と日は、システムアップデートの待機など、長期にわたるスケジュールされたタスクのために確保されています。重要なのは、サフィックスが常にスケールに対応していることを確認することです。 スクリプトを中断する。
スクリプトに睡眠シーンを組み込む:実践例
ここでは、 スリープコマンド 論理の一部であるオートメーション そしての Bash プログラミング。
🔹 2つの注文の間には、シンプルな一時停止があります。
最も基本的なシナリオは、1つのアクションを実行し、待機してから次のアクションを実行するというものです。このパターンは、プロセッサの過負荷を回避したり、ファイルの生成に時間をかけたりするためによく用いられます。
#!/bin/bash echo "バックアップを開始します..." 睡眠5 echo "バックアップは5秒後に完了しました。"
目視で確認するには 時間遅延前後の日付を表示できます。
日付 睡眠10 日付
🔹 間隔を空けた反復処理のためのスリープ付きループ
ループ中 のために、 そこには スリープコマンド これにより、反復処理の間隔を空けることができます。軽微な監視操作や、API呼び出しの頻度を制限する場合に便利です。
#!/bin/bash for i in {1..5} する echo "反復 $i" 睡眠1 終わり
各サイクルは1秒間続き、非常に読みやすいプログレッシブ表示を実現します。
🔹 サービス開始前の遅延
サービス(Apacheなど)を停止した後、リソースが解放されるまでに遅延が必要になる場合があります。以下のコマンドは、 スクリプトを中断する 停止から再起動までの間隔は5秒です。
#!/bin/bash echo "サービスが停止しました..." systemctl stop apache2 睡眠5 echo "サービスを再起動しています..." systemctl start apache2
🔹 マシンがオンラインになるまでお待ちください
の古典 シェルスクリプト : ホストのネットワーク可用性をテストします ピング 成功するまで3秒ごとに試行を繰り返してください。 スリープコマンド アクティブな監視を維持しながら、ネットワークへの過負荷を回避します。
#!/bin/bash ホスト=192.168.1.1 その間: する if ping -c 1 $host &> /dev/null それから echo "ホストがオンラインになりました!" 壊す フィ 睡眠3 終わり
タイミングに関するベストプラクティスとヒント
単純な用途を超えて、 スリープコマンド 変数、算術計算、または条件と組み合わせることができます。 オートメーション 上級者向け。コンサルタントの経験からのヒントをいくつかご紹介します。 Bash プログラミング。
動的な期間には変数を使用する
期間をハードコーディングするのではなく、変数に格納してください。こうすることで、メンテナンスが容易になり、調整も容易になります。 所要時間 スクリプトのロジックを変更せずに。
#!/bin/bash 遅延=10 echo "$DELAY秒間待機しています..." スリープ $遅延 echo "完了しました!"
sleepコマンドを他のコマンドと組み合わせる
そこには コマンドライン Linuxには以下の追加ツールがあります。 時計 定期的に実行するには、 で 計画を立てるか、 タイムアウト プロセスの期間を制限するため。ただし、 寝る シンプルな用途には最も軽量なソリューションであり続ける 時間遅延 スクリプト内で。
| ⚙️ツール | 主な用途 | 睡眠との違い |
|---|---|---|
寝る |
スクリプト内の一時停止を修正しました | 指定された期間、実行をブロックします。 |
時計 |
コマンドの繰り返し実行 | 対話型のセッションが必要で、スクリプト作成には適していません。 |
タイムアウト |
プロセスの所要時間を制限する | 遅延後にコマンドを中断しますが、スクリプトは一時停止しません。 |
それぞれのツールにはそれぞれの役割がありますが、 スクリプトを中断する 純粋な、 寝る 参照はそのまま残ります シェルスクリプト。
の習得 スリープコマンド 外部ツールに頼ることなく複雑な時間シーケンスを処理できる、より堅牢なスクリプトへの道を開きます。デプロイメントのオーケストレーション、リクエストの間隔調整、リソースの待機など、この小さなツールはすべての開発者にとって必須のツールキットの一部です。 コマンドライン。
