> $File_Log 130fi 131 132#循环变量 133i=0 134 135while [ ! "$ProcID_Alert" = "" ] 136do 137ProcID_Alert=`pidof ale。E680系列 Linux手机DIY.Shell应用扩展一 随机来电铃声( 三 )。" />

E680系列 Linux手机DIY.Shell应用扩展一 随机来电铃声( 三 )


127then
128HaveSession="MESSAGE"
129echo `$File_Busybox date` " : Have Message " >> $File_Log
130fi
131
132#循环变量
133i=0
134
135while [ ! "$ProcID_Alert" = "" ]
136do
137ProcID_Alert=`pidof alertprocess`
138sleep 1s
139#echo "sleep now!"
140
141if [ "$HaveSession" = "MESSAGE" ]
142then
143if [ "$i" = "$Var_MsgMaxSecond" ]
144then
145kill -9 `pidof alertprocess`
146else
147i=$(($i 1))
148fi
149fi
150
151done
152
153Value_Base=`$File_Busybox date -u ’ %M%S’`
154
155#echo "OK"
156
157if [ "$HaveSession" = "PHONE" ]
158then
159
160#处理随机来铃
161cd $Path_Ring
162rm $FileList_Tmp
163find . -name ’*[m,M][p,P]3’ | sed’s/^.//g’ > $FileList_Tmp
164Max_Count=`$File_Busybox wc $FileList_Tmp | $File_Busybox awk ’{print $1}’`
165Value_Round=$(($Value_Base % $Max_Count1))
166
167#echo $Value_Round
168
169Name_NextRing=`sed -n "$Value_Round p" $Path_Ring/$FileList_Tmp`
170rm $FileList_Tmp
171
172if [ -f $Default_RingFile ]
173then
174
175if [ -f $Path_Current/prering.txt ]
176then
177#echo
178mv "$Default_RingFile" "`cat $Path_Current/prering.txt`"
179echo `$File_Busybox date` " : mv $Default_RingFile" "`cat $Path_Current/prering.txt`" >> $File_Log
180else
181rm "$Default_RingFile"
182echo `$File_Busybox date` " : rm $Default_RingFile" >> $File_Log
183fi
184
185fi
186
187#echo
188mv "$Path_Ring$Name_NextRing" "$Default_RingFile"
189echo $Path_Ring$Name_NextRing > $Path_Current/prering.txt
190echo `$File_Busybox date` " : mv $Path_Ring$Name_NextRing" "$Default_RingFile" >> $File_Log
191
192fi
193
194if [ "$HaveSession" = "MESSAGE" ]
195then
196
197#处理随机短信息
198cd $Path_Message
199rm $FileList_Tmp
200find . -name ’*[m,M][p,P]3’ | sed’s/^.//g’ > $FileList_Tmp
201Max_Count=`$File_Busybox wc $FileList_Tmp | $File_Busybox awk ’{print $1}’`
202Value_Round=$(($Value_Base % $Max_Count1))
203
204#echo $Value_Round
205
206Name_NextMessage=`sed -n "$Value_Round p" $Path_Message/$FileList_Tmp`
207rm $FileList_Tmp
208
209
210if [ -f $Default_MessageFile ]
211then
212
213if [ -f $Path_Current/premsg.txt ]
214then
215#echo
216mv "$Default_MessageFile" "`cat $Path_Current/premsg.txt`"
217echo `$File_Busybox date` " : mv $Default_MessageFile" "`cat $Path_Current/premsg.txt`" >> $File_Log
218else
219rm "$Default_MessageFile"
220echo `$File_Busybox date` " : rm $Default_MessageFile" >> $File_Log
221fi
222
223fi
224
225#echo
226mv "$Path_Message$Name_NextMessage" "$Default_MessageFile"
227echo $Path_Message$Name_NextMessage > $Path_Current/premsg.txt
228echo `$File_Busybox date` " : mv $Path_Message$Name_NextMessage" "$Default_MessageFile" >> $File_Log
229
230
231#kill -9 `pidof alertprocess`
232#cp -f $Path_Ring/$Name_NextRing
233
234fi
235
236
237sleep 1s
238
239fi
240
241
242done

四、脚本文件说明

这个脚本虽然有点注释,但乍一看还是有点乱,这里作一些补充 。

脚本主要分“变量定义和预处理”<001-100>“主循环”<101-242>两部分 。

A.“变量定义和预处理”

这个脚本命名随意,但是存放路径必须与<005>所定义的路径相同 。(注:这里也
完全可以用`pwd`来代替 。)
脚本运行后会在当前路径下生成如下文件:

log.txt记录整个运行日志

ring.txt记录来电铃音随机选择的目录,目前脚本会包含该目录的所有子
目录

msg.txt记录短信息铃音随即选择的目录,同上

default.txt 记录来电的固定文件的目录,

maxmessage.txt记录短信的最长响铃时间

此外还产生了一些tmp的临时文件 。

B.“主循环”
系统总会不断执行<106>这条语句,经过一些尝试,使用pidof效率是最高的,

推荐阅读