sleepコマンドは指定した時間だけ停止します。
一定時間だけ動作を止めたい場合に使用できます。
指定した時間だけ停止
sleepコマンドは、引数に数字を取ります。デフォルトでは、数字の単位を秒として扱い、指定した秒数だけ停止します。
また、数字の後に単位をつけることができます。
単位 | 意味 |
---|---|
s | 秒(seconds) |
m | 分(minutes) |
h | 時間(hours) |
d | 日(days) |
以下はコマンド例になります。
コマンド例(10秒停止)
1 |
sleep 10 |
コマンド例(10分停止)
1 |
sleep 10m |
コマンド例(10時間停止)
1 |
sleep 10h |
コマンド例(10日停止)
1 |
sleep 10d |
GNU sleepの場合、浮動小数点数を扱うことができます。
コマンド例(0.5秒停止)
1 |
sleep 0.5s |
60秒カウントのワンライナー
for文と組み合わせれば、簡単なタイマーができます。
コマンド例
1 |
for ((i=60;i>0;i--)) ;do echo $i;sleep 1 ;done |
echoコマンドで改行を出さないようにし、制御文字(\r)を用いれば、秒数を更新するような形に変更できます。
コマンド例
1 |
for ((i=60;i>0;i--)) ;do echo -n -e "\r$i";sleep 1 ;done |