GNU/Linux >> Linux の 問題 >  >> Linux

BashスクリプトでのLinuxスリープコマンドの使用

Linuxのsleepコマンドは、最も単純なコマンドの1つです。名前から推測できるように、その唯一の機能は眠ることです。つまり、指定された時間の遅延が発生します。

したがって、xでsleepコマンドを使用し、次のコマンドはx秒後にのみ実行できる場合。

Sleepコマンドの構文は単純です:

sleep Number[Suffix]

ここでは、接尾辞は次のようになります:

  • 秒。これがデフォルトです。
  • mで数分。
  • h何時間も。
  • 数日間

スリープコマンドの例をいくつか見てみましょう。

バッシュスリープコマンドの例

シェルで直接使用することもできますが、sleepコマンドは通常、bashスクリプトの実行に遅延をもたらすために使用されます。サンプルのbashスクリプトを使用してsleepコマンドの使用法を示します。

サフィックスなしのスリープコマンドは秒単位でカウントされます

bashスクリプトを5秒間一時停止したい場合は、次のようにスリープを使用できます。

sleep 5

サンプルのbashスクリプトでは、次のようになります。

!/bin/bash
echo "Sleeping for 5 seconds…"
sleep 5
echo "Completed"

timeコマンドを使用して実行すると、bashスクリプトが実際に(わずかに)5秒以上実行されたことがわかります。

time ./sleep.sh 
Sleeping for 5 seconds…
Completed

real    0m5.008s
user    0m0.000s
sys    0m0.007s
分または時間または日のサフィックスが付いたスリープコマンド

スリープ時間は、次の方法で分単位で指定できます。

sleep 1m

これにより、スクリプト/シェルが1分間一時停止します。スクリプトを数時間遅らせたい場合は、hオプションを使用してそれを行うことができます:

sleep 2h

bashスクリプトを数日間一時停止したい場合でも、dサフィックスを使用してそれを行うことができます:

sleep 5d

これは、隔日または平日に実行する場合に役立ちます。

秒、分、時間、日を組み合わせたスリープコマンド

一度に1つのサフィックスのみを使用する義務はありません。複数のサフィックスを使用でき、スリープの期間はすべてのサフィックスの合計です。

たとえば、次のコマンドを使用する場合:

sleep 1h 10m 5s

これにより、スクリプトは1時間10分5秒待機します。ここでは、sサフィックスはオプションであることに注意してください。

ボーナスのヒント:1秒未満の睡眠

sleepコマンドの最小時間単位が秒であることに気付いたかもしれません。しかし、bashスクリプトが数ミリ秒スリープする場合はどうなりますか?

良い点は、sleepコマンドで浮動小数点(10進小数点)を使用できることです。

したがって、5ミリ秒の一時停止を導入する場合は、次のように使用します。

sleep 0.005

他の接尾辞とともに小数点を使用することもできます。

sleep 1.5h 7.5m

1時間37分30秒の遅延が発生します。

これらの睡眠コマンドの例を読んでいる間、あなたが眠らなかったことを願っています😉

シェルスクリプトに興味がある場合は、bashでの文字列比較についても読みたいと思うかもしれません。ご質問やご提案がございましたら、お気軽にお問い合わせください。


Linux
  1. 自動化のためのBashの使用

  2. コマンドラインを使用してLinuxを再起動する方法

  3. mv コマンドを使用して Linux でフォルダーを移動する

  1. LinuxでBashの履歴をクリアする方法

  2. 画面コマンドを使用したスリープコマンドがPsに表示されませんか?

  3. BashスクリプトでのLinuxBasenameコマンドの使用

  1. Linuxの無料コマンドの使用

  2. Linuxでのripgrep(rg)コマンドの使用

  3. Linux での dmsetup コマンドの使用例