vine-users ML アーカイブ



[vine-users:056044] スクリプトのエラー

  • From: okui <okui@xxxxxxxxxxxx>
  • Subject: [vine-users:056044] スクリプトのエラー
  • Date: Fri, 22 Nov 2002 21:31:14 +0900
こんにちは
奥井です。

スクリプトを作ったのですが動作が理解できないのでご教授お願い致します。
カメラを使ったソフトを使用しています。そのソフトは画面上で動きを検出すると音をならすようになっています。(コマンドで指定)
うごく度に鳴るのが不便なので一回音を鳴らしたら1分間は鳴らさないようなスクリプトをplay/usr/share/sound/***.wavの代わりに実行させようと考えました。以下のスクリプト シェルはbashです
24時間を秒数に変換して+60したものをnext_alarm_timeに入力してexportしてます。(方法が間違っているのかexport自体できないのか?)
#/bin/sh

hour=`date +%H`
min=`date +%M`
sec=`date +%S`
current_time=$((hour*60*60+min*60+sec))
echo $current_time
echo $next_alarm_time
if [ $current_time -gt $next_alarm_time ] ;then
        play /usr/share/sounds/phone.wav        #1分以上
        export next_alarm_time=$((current_time+60))
        echo $current_time
        echo $next_alarm_time

else
        play /usr/share/sounds/login.wav        #1分以内
fi

結果は以下
[alpha@etower alpha]$ ./alarm
63065
10000
63065
63125

実行前にnext_alarm_timeは10000をセットしてましたがスクリプト実行後もnext_alarm_timeは10000のままで63125にかわってませんでした。
echo $next_alarm_timeで確認
又、時々エラーがでますがその理由も分りません。
値の問題かと思いましたがhour=23,min=59,sec=59ではエラーはでませんでした。
next_alarm_timeに値を入力する方法とエラーの原因をご教授ください。


[alpha@etower alpha]$ ./alarm
./alarm: 09: value too great for base (error token is "09")

10000
./alarm: [: -gt: unary operator expected