sleep
は、指定された時間、呼び出しプロセスを一時停止できるコマンドラインユーティリティです。つまり、sleep
コマンドは、指定された秒数の間、次のコマンドの実行を一時停止します。
sleep
コマンドは、失敗した操作を再試行するときやループ内など、bashシェルスクリプト内で使用する場合に役立ちます。
このチュートリアルでは、Linuxのsleep
の使用方法を紹介します。 コマンド。
sleep
の使用方法 コマンド#
sleep
の構文 コマンドは次のとおりです:
sleep NUMBER[SUFFIX]...
NUMBER
正の整数または浮動小数点数の場合があります。
SUFFIX
次のいずれかになります:
-
s
-秒(デフォルト) -
m
-分 -
h
-時間 -
d
-日
サフィックスが指定されていない場合、デフォルトで秒になります。
2つ以上の引数が指定されている場合、合計時間はそれらの値の合計に相当します。
sleep
の使用方法を示す簡単な例をいくつか示します。 コマンド:
-
5秒間寝る:
sleep 5
-
0.5秒間スリープする:
sleep 0.5
-
2分30秒寝る:
sleep 2m 30s
Bashスクリプトの例#
このセクションでは、いくつかの基本的なシェルスクリプトを調べて、sleep
がどのように行われるかを確認します。 コマンドが使用されます。
#!/bin/bash
# start time
date +"%H:%M:%S"
# sleep for 5 seconds
sleep 5
# end time
date +"%H:%M:%S"
スクリプトを実行すると、現在の時刻がHH:MM:SS
に出力されます。 フォーマット。次に、sleep
コマンドはスクリプトを5秒間一時停止します。指定した時間が経過すると、スクリプトの最後の行に現在の時刻が出力されます。
出力は次のようになります:
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アドレスを持つホストかどうかを判別するコマンド 到達可能かどうか。 - ホストに到達できる場合、スクリプトは「ホストはオンラインです」とエコーし、ループを終了します。
- ホストに到達できない場合は、
sleep
コマンドはスクリプトを5秒間一時停止してから、ループが最初から始まります。
結論#
sleep
コマンドは、最も単純なLinuxコマンドの1つです。次のコマンドの実行を一定時間一時停止するために使用されます。
ご質問やご意見がございましたら、お気軽にコメントをお寄せください。