1) 課題1は最初に1行で数値を表示するように作成し、後で4桁に表示を別ける処理を追加した方がスムーズ。

2) 4桁で数値を表示する一つの方法

例) 数値が 2345 の場合

2345 / 1000 = 2      (2345を1000で割ると整数部分は 2)

2345 % 1000 = 345  (2345を1000で割ったあまりは 345)

345 / 100 = 3          (345を100で割った整数部分は 3)

345 % 100 = 45      (345を100で割ったあまりは 45)

45 / 10 = 4             (45を10で割った整数部分は 4)

45 % 10 = 5            (45を10で割ったあまりは 5)

これを変数とexprコマンドで実装すれば良い。

3) カウンタの値はファイルに保存すると便利。

例) ファイルcount.datから値を変数VALUEに読み込む場合

VALUE=`cat count.dat`


例) ファイルcount.datへ変数VALUEの値を書き込む場合

echo $VALUE >| count.dat

 

4) ロックファイルが正しく動いているか、テストプログラムでテストすると良い

例) 10回ほぼ同時にシェルプログラム count.sh を呼ぶ

#!/bin/sh

#カウンタをリセット

echo 0 >| .count.dat

#10回 カウンタプログラム counter を呼ぶ

I=0

while [ $I -lt 10 ]; do

  ./count.sh &

  I=`expr $I + 1`

done
Last modified: Friday, 18 April 2014, 5:52 PM