LoginSignup
1

More than 5 years have passed since last update.

60秒待つときに“.......”というように出したい

Posted at

60秒待つときに“.......”というように出したい

 目からうろこだったのでメモ。

 インストールのときに、

...
......
.........

 というように“.......”で経過を表すプログラムがありますが、あれをやりたい時のヒント。

LoopCount.sh
#! /bin/ksh

# 60秒以内にhoge.txtというファイルが同じディレクトリに生成されたかどうかチェックし、
# 生成されたらメッセージを返す

LoopCnt=0
LoopMax=60

while true
do
    sleep 1
    # 必ずさせる処理
    echo -n "."

    if [[ -e hoge.txt ]] ; then
        echo ""
        echo "File was Created!"
        break
    fi

    # 条件を満たしたか毎秒チェック
    (( LoopCnt = ${LoopCnt} + 1 ))
    if [[ ${LoopCnt} -ge ${LoopMax} ]] ; then
        echo ""
        echo "End"
        break
    fi
done
実行結果
# ファイルが60秒以内に生成できた場合
$ ./LoopCount.sh 
..............
File was Created!

# ファイルが60秒以内に生成できなかった場合
$ ./LoopCount.sh 
............................................................
End

 他にも「60秒以内に~~したら」というようなときにも使える。うっかりsleep 60とか書いてしまいそうだが、こう書いておけば早く次の処理に移れてクール!

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1