アンドロイド

linux sleepコマンドを使用してbashスクリプトを一時停止する方法

Ubuntu: ALC1220, no sound through rear panel out, headphones work

Ubuntu: ALC1220, no sound through rear panel out, headphones work

目次:

Anonim

スリープは、指定した時間、呼び出しプロセスを一時停止できるコマンドラインユーティリティです。 つまり、sleepコマンドは、指定された秒数の間、次のコマンドの実行を一時停止します。

sleepコマンドは、bashシェルスクリプト内で使用する場合、たとえば失敗した操作を再試行する場合やループ内で使用する場合に特に便利です。

このチュートリアルでは、Linux sleepコマンドの使用方法を示します。

sleepコマンドの使用方法

sleepコマンドの構文は次のとおりです。

sleep NUMBER…

NUMBER は、正の整数または浮動小数点数です。

SUFFIX は次のいずれかです。

  • s 秒(デフォルト) m h 時間 d

接尾辞を使用しない場合、デフォルトは秒です。

2つ以上の引数を指定すると、合計時間は値の合計に等しくなります。

次に、sleepコマンドの使用方法を示すいくつかの簡単な例を示します。

  • 5秒間スリープします。

    sleep 5

    0.5秒間スリープします。

    sleep 0.5

    2分30秒間スリープします。

    sleep 2m 30s

Bashスクリプトの例

以下は、Bashスクリプトでsleepコマンドを使用する最も基本的な例です。 スクリプトを実行すると、現在の時刻が HH:MM:SS 形式で出力されます。 その後、sleepコマンドはスクリプトを5秒間一時停止します。 指定された期間が経過すると、スクリプトの最後の行に現在の時刻が再度出力されます。

#!/bin/bash # start time date +"%H:%M:%S" # sleep for 5 seconds sleep 5 # end time date +"%H:%M:%S"

出力は次のようになります。

13:34:40 13:34:45

より高度な例を見てみましょう。

#!/bin/bash while: do if ping -c 1 ip_address &> /dev/null then echo "Host is online" break fi sleep 5 done

上記のスクリプトは、ホストが5秒ごとにオンラインであるかどうかを確認し、ホストがオンラインになると、スクリプトが通知して停止します。

スクリプトの仕組み:

  • 最初の行では、無限のwhileループを作成しています。次に、pingコマンドを使用して、 ip_address IPアドレスを持つホストが到達可能かどうかを判断します。ホストが到達可能であれば、スクリプトは「Host is online」とエコーしますループを終了します。ホストに到達できない場合、sleepコマンドはスクリプトを5秒間一時停止し、ループは最初から開始します。

結論

これまでに、Linux sleepコマンドの使用方法を十分に理解しているはずです。

sleepコマンドは最も単純なシェルコマンドの1つで、スリープ間隔を指定するために使用される引数を1つだけ受け入れます。

睡眠ターミナル