bashスリープコマンド
Bashの「sleep」コマンドは、スクリプトの実行を特定の期間停止するために使用されます。このコマンドは、スケジュールされたタスクを実行するためや、特定のスクリプトを実行する前に一定の期間待つために便利です。このコマンドは、スクリプトの実行を特定の時間停止させます。このチュートリアルでは、さまざまな目的のためにBashでこのコマンドを使用する方法が示されています。
構文:
スリープナンバー[suffix]…
数値は正の整数または浮動小数点数であることができます。サフィックスのデフォルト値は「s」で、これは秒を示します。他のサフィックスの値は「m」で分、「h」で時間、「d」で日を示します。
「スリープ」コマンドの異なる使い方
例1: 整数値を使用した「スリープ」コマンド
次のスクリプトを使用して、1から5までの数字を2秒間隔で出力するBashファイルを作成します。無限のforループを使用して、カウンターの値が5に等しくなるまで、2秒後に$counterの値を出力します。 "sleep" コマンドは、2の値で使用して2秒の間隔を設定します。ここではサフィックスは使用されません。
#!/bin/bash
#Set the counter value
counter=1
#Infinite loop
for((;;))
do
#Check the counter value
if [ $counter -gt 5 ]; then
break
fi
#Print the counter value
echo $counter
#wait for 2 seconds
sleep 2
#Increment the counter value
((counter++))
doneスクリプトを実行した後に次の出力が表示されます:
例2:浮動小数点数を使った「Sleep」コマンドの使用
次のスクリプトを使用して、デジタル時計のテキストと現在のシステム時刻を毎秒更新して印刷するBashファイルを作成します。無限のforループを使用して、毎秒現在の時刻を更新して印刷します。 "s"が"sleep"コマンドの接尾辞として使用されます。テキストの各文字は0.5秒の間隔で印刷されます。ユーザーはスクリプトを終了するために"Ctrl+C"を押す必要があります。
#!/bin/bash
#Display the line of text using the 'sleep' command
echo -n 'D'; sleep 0.5s
echo -n 'i'; sleep 0.5s
echo -n 'g'; sleep 0.5s
echo -n 'i'; sleep 0.5s
echo -n 't'; sleep 0.5s
echo -n 'a'; sleep 0.5s
echo -n 'l'; sleep 0.5s
echo -n ' '; sleep 0.5s
echo -n 'C'; sleep 0.5s
echo -n 'l'; sleep 0.5s
echo -n 'o'; sleep 0.5s
echo -n 'c'; sleep 0.5s
echo -n 'k'; echo
echo "Clock will display soon."
echo "Press Ctrl+C to close the program."
sleep 3s; clear
while true
do
#Display the time
date +"%H:%M:%S"
#Wait for 1 second
sleep 1s
#Clear the screen every second
clear
doneスクリプトを実行した後、次の出力が表示されます。スクリプトは次のメッセージを表示した後、5秒間待機します:
次の出力は5秒待った後に表示され、時間の値はデジタル時計のように毎秒更新されます。スクリプトを終了するにはCtrl+Cを押してください:
例3: 「スリープ」コマンドを使ってアラームを作成する
この例のスクリプトをテストする前に、メディアプレーヤーをインストールする必要があります。次のコマンドを実行してシステムを更新し、システムにVLCプレーヤーをインストールしてください:
sudo apt update
sudo apt install vlc次のスクリプトを持つBashファイルを作成します。このスクリプトは、アラームの時間(時、分、秒)を受け取ります。入力された時、分、秒を過ぎると、VLCプレーヤーがメディアファイルを自動的に開きます。メディアプレーヤーで再生する既存のメディアファイルを選択してください。このスクリプトでは、"alarm.mp3"ファイルが、"sleep"コマンドによって渡されたインターバルの後に、"nvlc"コマンドを使用して再生されます。
#!/bin/bash
echo "Playing alarm..."
#Set the alarm time
echo -n "Enter the alarm time (_h _m _s): "
read alarm_time
#Start the VLC Player when the alarm time reaches
sleep $alarm_time && nvlc /mnt/c/temp/alarm.mp3スクリプトを実行した後に以下の出力が表示されます。ここでは、間隔が10秒に設定されています。10秒後にメディアファイルでvlcプレーヤーが開かれます。
メディアプレーヤーがメディアファイルの再生を開始すると、以下の出力が表示されます。この出力は、ファイルの場所、メディアプレーヤーの状態、メディアファイルの位置、および音量を示しています:
結論
「sleep」コマンドは、さまざまな目的で使用される非常に便利なBashのコマンドです。このチュートリアルでは、アニメーションテキストやデジタル時計の表示、アラーム時計の作成など、複数の例を使用してこのコマンドのいくつかの使用法が示されています。このチュートリアルを読むことで、BashユーザーはBashスクリプトでこのコマンドの使用方法を明確に理解できるようになります。




