Mac OS X (X.5 から X.8) マシンで使用している bash スクリプトがあります。「OK」を押してスクリプトを続行するか、「スヌーズ」を押してスクリプトをスヌーズさせるかを尋ねるダイアログ状況です。その部分は機能しています。
しかし、私はスクリプトをテストしていて、すぐにどちらのボタンも押すことができず、1、2 分後に (時間を計りませんでした)、スクリプトは残りのプロセスを続行し、ダイアログが画面に表示されたままになりました。
スクリプトはユーザー入力を待たなければならないという印象を受けましたか?
問題のスクリプトの一部:
osascript -e 'アプリ「Finder」にアクティベートを指示'
リターン=osascript -e 'tell app "Finder" to display dialog "Text goes here. Please select OK or Snooze" buttons {"OK", "Snooze"} default button 1 with title "Text Here" with icon caution'
############ BEGIN LOOP HERE ##############
while [ "$return" == "button returned:Snooze" ]
do
Runs every 4 hours
sleep 14400
osascript -e 'tell app "Finder" to activate'
return=`osascript -e 'tell app "Finder" to display dialog "Text goes here. Please select OK or Snooze" buttons {"OK", "Snooze"} default button 1 with title "Text Here" with icon 2'`
終わり
###### ここでループを終了 if [ "$return" == "button returned:OK" ]
then
run the installer script here
fi