LinuxÊÖ»úDIY.ShellÓ¦ÓÃÀ©Õ¹Ò» Ëæ»úÀ´µçÁåÉù(E680ϵÁÐ)

·ÖÀà:ʵÓü¼ÇÉ   ×÷Õß:²Ýľ¹Ï   ʱ¼ä:2007-03-19 16:54:05   Íæ¼Ò½±:33

    LinuxÊÖ»úDIY.ShellÓ¦ÓÃÀ©Õ¹Ò».Ëæ»úÀ´µçÁåÉù(E680ϵÁÐ)

    ²Ýľ¹Ï

    2007-03-18

    Ò»¡¢Ê²Ã´ÊÇShell

    ÔÚ¿ªÊ¼ÕýÌâǰ£¬×Üϰ¹ßÓÚ´ÓÍøÉϳ­Ò»Ð©¶«¶«£¬À´¡°·á¸»¡±ÏÂÎÄÕµÄÄÚÈÝ¡£
    ShellÊÇÒ»Ö־߱¸ÌØÊ⹦ÄܵijÌÐò£¬ËüÊǽéÓÚʹÓÃÕßºÍ UNIX/Linux ²Ù×÷ϵͳºË
ÐijÌÐò(kernel)¼äµÄÒ»¸ö½Ó¿Ú¡£»»¶øÑÔÖ®£¬¾ÍÊÇÄãÆ½³£ÒªÏë²Ù×÷ UNIX/Linux µÄ»°£¬
¾ÍÐèҪͨ¹ýShellÀ´½øÐС£
    ΪʲôÎÒÃÇ˵ Shell ÊÇÒ»ÖÖ½éÓÚϵͳºËÐijÌÐòÓëʹÓÃÕß¼äµÄÖнéÕßÄØ£¿¶Á¹ý²Ù
×÷ϵͳ¸ÅÂ۵ĶÁÕßÃǶ¼ÖªµÀ²Ù×÷ϵͳÊÇÒ»¸öϵͳ×ÊÔ´µÄ¹ÜÀíÕßÓë·ÖÅäÕߣ¬µ±Óû§ÓÐÇë
Çóʱ£¬µÃÏòϵͳÌá³ö£»´Ó²Ù×÷ϵͳµÄ½Ç¶ÈÀ´¿´£¬ËüÒ²±ØÐë·ÀֹʹÓÃÕßÒòΪ´íÎóµÄ²Ù×÷
¶øÔì³ÉϵͳµÄË𺦡£ÖÚËùÖÜÖª£¬¶Ô¼ÆËã»úϵͳÏÂÃüÁîµÃͨ¹ýÔ¤¶¨ÒåµÄÃüÁî»ò³ÌÐò¡£
    Shell±¾Éí¾ÍÊÇÒ»¸ö³ÌÐò£¬Ò»¸öÒѾ­ÓɱðÈËдºÃ²¢ÇÒ±àÒë¹ýµÄ³ÌÐò£¬Ëü´ÓÊäÈëÉè
±¸¶ÁÈ¡ÃüÁ½«Æäת»»Îª¼ÆËã»ú²Ù×÷ϵͳ¿ÉÒÔÀí½âµÄ»úÆ÷Â룬ȻºóÖ´ÐС£
¡¡¡¡¸÷ÖÖ²Ù×÷ϵͳÆäʵ¶¼ÓÐËü×Ô¼ºµÄShell£¬ÒÔ´ó¼ÒÈÝÒ×Àí½âµÄDOSΪÀý£¬ËüµÄShell
¾ÍÊÇcommand.comÎļþ¡£WindowsϵÄDOSÃüÁîdir,copyµÈÖ®Àà¶¼ÊÇͨ¹ýÆä½âÊÍÖ´ÐÐ
µÄ¡£

    Unix/LinuxϵͳÏÂShellÒ²ÓжàÖÖ¡£³£ÓõÄÓÐBourne Shell(sh)¡¢C-Shell
(csh)¡¢Korn Shell(ksh)ºÍBourne Again Shell(bash)¡£
    Bourne Shell(sh)ÊÇAT&T BellʵÑéÊÒµÄSteven BourneΪAT&TµÄUnix¿ª·¢µÄ£¬
ËüÊÇUnixµÄĬÈÏShell£¬Ò²ÊÇÆäËüShellµÄ¿ª·¢»ù´¡¡£Bourne ShellÔÚ±à³Ì·½ÃæÏ൱
ÓÅÐ㣬µ«ÔÚ´¦ÀíÓëÓû§µÄ½»»¥·½Ãæ²»ÈçÆäËü¼¸ÖÖShell¡£
    C Shell(csh)ÊǼÓÖݲ®¿ËÀû´óѧµÄBill JoyΪBSD Unix¿ª·¢µÄ£¬Óësh²»Í¬£¬Ëü
µÄÓï·¨ÓëCÓïÑÔºÜÏàËÆ¡£ËüÌṩÁËBourne ShellËù²»ÄÜ´¦ÀíµÄÓû§½»»¥ÌØÕ÷£¬ÈçÃüÁî
²¹È«¡¢ÃüÁî±ðÃû¡¢ÀúÊ·ÃüÁîÌæ»»µÈ¡£µ«ÊÇ£¬C ShellÓëBourneShell²¢²»¼æÈÝ¡£
    Korn Shell(ksh)ÊÇAT&T BellʵÑéÊÒµÄDavid Korn¿ª·¢µÄ£¬Ëü¼¯ºÏÁËC Shell
ºÍBourne ShellµÄÓŵ㣬²¢ÇÒÓëBourne ShellÏòÏÂÍêÈ«¼æÈÝ¡£Korn ShellµÄЧÂʺÜ
¸ß£¬ÆäÃüÁî½»»¥½çÃæºÍ±à³Ì½»»¥½çÃæ¶¼ºÜºÃ¡£
    Bourne Again Shell(bash)ÊÇ×ÔÓÉÈí¼þ»ù½ð»á(GNU)¿ª·¢µÄÒ»¸öShell£¬ËüÊÇLinux
ϵͳÖÐÒ»¸öĬÈϵÄShell¡£Bash²»µ«ÓëBourne Shell¼æÈÝ£¬»¹¼Ì³ÐÁËC Shell¡¢Korn
ShellµÈÖÚ¶àÓŵ㡣

<LinuxÊÖ»úDIYϵÁÐ:http://blog.csdn.net/liwei_cmg/category/241839.aspx>

    ¶þ¡¢Ëæ»úÀ´µçÁåÒôµÄ×ÜÌå˼·

    Ëæ»úÀ´µçÁåÕâ¶«Î÷Ôç¾ÍÓÐÈËʵÏÖ£¬·½·¨Ò²ÊǶàÖÖ¶àÑùµÄ¡£¾ßÌåÕâ¸ö¶«Î÷µÄ×÷ÓÃÊÇ
ÈÊÕß¼ûÈÊ£¬ÖÇÕß¼ûÖÇ¡£¸öÈ˾õµÃż¶ûÓÃÓøоõÒ²²»´í£¬ÖØÒªµÄÊÇÍÚ¾òShellÀ©Õ¹ÊÖ»ú
Ó¦ÓõÄDZÁ¦¡£¶øÇÒShell¶Ô´ó¶àÊýÈËÀ´Ëµ£¬ÉÏÊÖÒ²±È½ÏÈÝÒ×£¬Ïà¹Ø×ÊÁÏҲʮ·Ö¶à¡£ÏÄÐÂ
E600ºÍ·ÉÀûÆÖ968µÄ°²×°°ü¾ÍÊÇͨ¹ý¼òµ¥µÄһЩShellÀ´ÊµÏÖ¡£¿ÉÒÔ˵£¬Ñо¿ÕâЩÊÖ»ú
×îΪ¹Ø¼üµÄ²¿·Ö£¬¾ÍÊÇShell£¡

    ÏÖÔÚ´ó¶àÊýLinuxÖÇÄÜÊÖ»ú£¬ÁåÒôÅäÖö¼ÊÇÒÔÎı¾¸ñʽ´æÔÚ£¬¿É¼ûÀíÂÛÉÏÖ±½ÓÐÞ¸Ä
ÕâÀàÎļþ¾Í¿ÉÒÔÇáËÉʵÏÖ¶Ô¶ÌÐÅÏ¢ºÍÊÖ»úÁåÉù½øÐиü¸Ä¡£µ«ÔÚʵ¼Ê²Ù×÷¹ý³ÌÖз¢ÏÖ£¬Ö±
½ÓÈ¥ÐÞ¸ÄÕâ¸öÎļþµÄ»°£¬E680ÊDz»Äܹ»¼´Ê±ÉúЧµÄ£¬ÐèÒªÖØÐÂÉèÖÃˢвÅÐС£
    ºó¾­Ò»Ð©³¢ÊÔ·¢ÏÖ£¬ÏÈÉèÖúÃÁåÒôµÄÅäÖÃÎļþ£¬ÐÞ¸Äʵ¼ÊµÄ¶ÔÓ¦ÁåÉùÎļþ×îΪÓÐЧ¡£
   
  AlertRingTone1 = /mmc/mmca1/Music/Ring/ring.mp3
  AlertRingTone2 = /mmc/mmca1/Music/Ring/ring.mp3
  AlertRingerIDs = 0
  AlertStyleIconDir = /usr/language/alertStyle/
  AlertSystemVolume = 10
  AlertTextMsg = /mmc/mmca1/Music/Ring/message.mp3
   
    [AlertTextMsg]¶ÔÓ¦¶ÌÐÅÏ¢ÁåÉù£¬[AlertRingTone1]¶ÔÓ¦À´µçÁåÉù£¬Õâ¸öÅäÖÃÎÄ
¼þÎÒ²»È¥¸ÄËü£¬¶¯Ì¬Ð޸ĵÄÊÇring.mp3,message.mp3µÄʵ¼ÊÎļþ¡£Ð޸ĵĹý³Ì½ö½ö¾ÍÊÇ
mv Artist.mp3 ring.mp3Õâô¼òµ¥¡£

    ÏÂÃæÐèÒª½â¾öµÄ¾ÍÊÇÐÞ¸Äʱ»úºÍËæ¼´ÐÔÁ½¸öÎÊÌâ¡£ÎÒÕâÀïÏÔÈ»ÊÇÒ»¸öÔÚºǫ́²»¶ÏÑ­
»·ÔËÐеÄShell½Å±¾£¬µ±¶ÌÐÅÏ¢»òÕßÀ´µçʱ£¬ÏµÍ³»áÆô¶¯alterprocssÕâ¸ö½ø³Ì£¬Õâ¸ö½Å
±¾×ÔÈ»Äܼì²âµÄÕâ¸ö½ø³ÌÏà¹ØÐÅÏ¢£¬²¢ÐÞ¸ÄÏàÓ¦µÄÁåÉùÎļþ¡£ÖÁÓÚËæ»úÐÔ£¬ÆäʵÀ´µç±¾
Éí¾ÍÊÇËæ»úʼþ£¬ÕâÀïÖ»ÓÃÁËÒ»¸öÎ±Ëæ¼´·½·¨£¬¼´¸ù¾ÝÀ´µçµÄʱ¼äÐÅÏ¢£¬½øÐÐÁåÉùÎļþ
Ñ¡Ôñ¡£


    Èý¡¢½Å±¾ÎļþÈ«ÄÚÈÝ

001  #!/bin/bash
002 
003 
004  #µ±Ç°Â·¾¶
005  Path_Current=/mmc/mmca1/soft/ring
006 
007  #ÈÕÖ¾Îļþ
008  File_Log=$Path_Current/log.txt
009 
010  #À´µçÁåÉùĿ¼
011  if [ ! -f $Path_Current/ring.txt ]
012  then
013  echo /mmc/mmca1/Music/Game > $Path_Current/ring.txt
014  fi
015  Path_Ring=`cat $Path_Current/ring.txt`
016 
017  #¶ÌÐÅÏ¢ÁåÉùĿ¼
018  if [ ! -f $Path_Current/msg.txt ]
019  then
020  echo /mmc/mmca1/Music/Game > $Path_Current/msg.txt
021  fi
022  Path_Message=`cat $Path_Current/msg.txt`
023 
024  #¹Ì¶¨À´µçÏûÏ¢ÎļþĿ¼
025  if [ ! -f $Path_Current/default.txt ]
026  then
027  echo /mmc/mmca1/Music/Ring > $Path_Current/default.txt
028  IsReset=1
029  else
030  IsReset=0
031  fi
032  Path_Default=`cat $Path_Current/default.txt`
033 
034 
035  #ϵͳԤ¶¨Òå¶ÌÐÅ×Ãë
036  if [ ! -f $Path_Current/maxmessage.txt ]
037  then
038  echo "15" > $Path_Current/maxmessage.txt
039  fi
040  Var_MsgMaxSec $Path_Current/maxmessage.txt`
041 
042  #Ö¸¶¨µÄ¶ÌÏûÏ¢ÁåÉù
043  Default_MessageFile=$Path_Default/message.mp3
044  #Ö¸¶¨µÄµç»°ÁåÉù
045  Default_RingFile=$Path_Default/ring.mp3
046 
047 
048  #Ö¸Á
049  File_Busybox=/mmc/mmca1/tmp/busybox
050  #ÁÙʱ´¦ÀíÅäÖõÄÎļþ
051  File_Sed=$Path_Current/tmpsed.txt
052  #ÁÙʱÎļþ´óÉù
053  File_TmpRingLoud=$Path_Current/tmpRingLoud.pts
054  #ÁÙʱÎļþÇáÉù
055  File_TmpRingSoft=$Path_Current/tmpRingSoft.pts
056 
057  #ÁÙʱ½ø³ÌÎļþ
058  File_TmpProcess=$Path_Current/tmpgrep.txt
059 
060 
061  #ÁÙʱ¿É¹©Ëæ»úµÄÎļþÁбí
062  FileList_Tmp=filelist.txt
063 
064  #ϵͳ´óÉùµÄÅäÖÃÎļþ
065  File_RingLoud=/ezxlocal/download/appwrite/setup/RingLoud.pts
066  #ϵͳÇáÉùµÄÅäÖÃÎļþ
067  File_RingSoft=/ezxlocal/download/appwrite/setup/RingSoft.pts
068 
069 
070  echo "====== Random Ring ======" >> $File_Log
071  echo `$File_Busybox date` " : Start" >> $File_Log
072 
073 
074  if [ "$IsReset" = "1" ]
075  then
076 
077  echo `$File_Busybox date` " : Create New PtsFile" >> $File_Log
078 
079  #Éú³ÉеÄÅäÖÃÎļþ
080  echo "#!/bin/sed -f" > $File_Sed
081  echo "/AlertRingTone1/ c\\" >> $File_Sed
082  echo "AlertRingTone1 = $Default_RingFile" >> $File_Sed
083  echo "/AlertRingTone2/ c\\" >> $File_Sed
084  echo "AlertRingTone2 = $Default_RingFile" >> $File_Sed
085  echo "/AlertTextMsg/ c\\" >> $File_Sed
086  echo "AlertTextMsg = $Default_MessageFile" >> $File_Sed
087 
088  #echo $File_Sed " " $File_RingLoud
089  $File_Sed $File_RingLoud > $File_TmpRingLoud
090  $File_Sed $File_RingSoft > $File_TmpRingSoft
091 
092  cp -f $File_TmpRingLoud $File_RingLoud
093  cp -f $File_TmpRingSoft $File_RingSoft
094 
095  fi
096 
097  #$File_Busybox renice -20 $$
098  echo $$ > $Path_Current/proc.txt
099 
100  echo `$File_Busybox date` " : ProcessID " $$ >> $File_Log
101 
102  while
103 
104  do
105 
106   ProcID_Alert=`pidof alertprocess`
107 
108   if [ "$ProcID_Alert" = "" ]
109   then
110   
111    echo "Runing ..."
112    sleep 1s
113    
114   else
115   
116    echo `$File_Busybox date` " : AlertProcessID " $ProcID_Alert >> $File_Log
117   
118    ps -ef | grep ".mp3" | grep -v grep > $File_TmpProcess
119    
120    if grep "ring.mp3" $File_TmpProcess | grep -v grep
121    then
122  HaveSession="PHONE"
123  echo `$File_Busybox date` " : Have Phone " >> $File_Log
124    fi
125    
126    if grep "message.mp3" $File_TmpProcess | grep -v grep
127    then
128  HaveSession="MESSAGE"
129  echo `$File_Busybox date` " : Have Message " >> $File_Log
130    fi   
131 
132    #Ñ­»·±äÁ¿
133    i=0
134    
135    while [ ! "$ProcID_Alert" = "" ]
136    do
137  ProcID_Alert=`pidof alertprocess`
138  sleep 1s
139  #echo "sleep now!"
140  
141  if [ "$HaveSession" = "MESSAGE" ]
142  then
143   if [ "$i" = "$Var_MsgMaxSecond" ]
144   then
145    kill -9 `pidof alertprocess`
146   else
147    i=$(($i+1))
148   fi
149  fi 
150  
151    done
152 
153    Value_Base=`$File_Busybox date -u '+%M%S'`
154    
155    #echo "OK"
156    
157    if [ "$HaveSession" = "PHONE" ]
158    then
159 
160  #´¦ÀíËæ»úÀ´Áå
161  cd $Path_Ring
162  rm $FileList_Tmp
163  find . -name '*[m,M][p,P]3' | sed  's/^.//g' > $FileList_Tmp
164  Max_Count=`$File_Busybox wc $FileList_Tmp | $File_Busybox awk '{print $1}'`
165  Value_Round=$(($Value_Base % $Max_Count + 1))
166  
167  #echo $Value_Round
168  
169  Name_NextRing=`sed -n "$Value_Round p" $Path_Ring/$FileList_Tmp`
170  rm $FileList_Tmp
171  
172  if [ -f $Default_RingFile ]
173  then
174   
175   if [ -f $Path_Current/prering.txt ]
176   then
177    #echo
178    mv "$Default_RingFile" "`cat $Path_Current/prering.txt`"
179    echo `$File_Busybox date` " : mv $Default_RingFile" "`cat $Path_Current/prering.txt`" >> $File_Log
180   else
181    rm "$Default_RingFile"
182    echo `$File_Busybox date` " : rm $Default_RingFile" >> $File_Log
183   fi
184   
185  fi
186  
187  #echo
188  mv "$Path_Ring$Name_NextRing" "$Default_RingFile"
189  echo $Path_Ring$Name_NextRing > $Path_Current/prering.txt 
190  echo `$File_Busybox date` " : mv $Path_Ring$Name_NextRing" "$Default_RingFile" >> $File_Log
191  
192    fi  
193 
194    if [ "$HaveSession" = "MESSAGE" ]
195    then
196    
197  #´¦ÀíËæ»ú¶ÌÐÅÏ¢
198  cd $Path_Message
199  rm $FileList_Tmp
200  find . -name '*[m,M][p,P]3' | sed  's/^.//g' > $FileList_Tmp
201  Max_Count=`$File_Busybox wc $FileList_Tmp | $File_Busybox awk '{print $1}'`
202  Value_Round=$(($Value_Base % $Max_Count + 1))
203  
204  #echo $Value_Round
205  
206  Name_NextMessage=`sed -n "$Value_Round p" $Path_Message/$FileList_Tmp`
207  rm $FileList_Tmp
208 
209  
210  if [ -f $Default_MessageFile ]
211  then
212   
213   if [ -f $Path_Current/premsg.txt ]
214   then
215    #echo
216    mv "$Default_MessageFile" "`cat $Path_Current/premsg.txt`"
217    echo `$File_Busybox date` " : mv $Default_MessageFile" "`cat $Path_Current/premsg.txt`" >> $File_Log
218   else
219    rm "$Default_MessageFile"
220    echo `$File_Busybox date` " : rm $Default_MessageFile" >> $File_Log
221   fi
222  
223  fi
224   
225  #echo
226  mv "$Path_Message$Name_NextMessage" "$Default_MessageFile"
227  echo $Path_Message$Name_NextMessage > $Path_Current/premsg.txt
228  echo `$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    
234    fi
235 
236    
237    sleep 1s
238   
239   fi
240 
241 
242  done


ËÄ¡¢½Å±¾Îļþ˵Ã÷


    Õâ¸ö½Å±¾ËäÈ»Óеã×¢ÊÍ£¬µ«Õ§Ò»¿´»¹ÊÇÓеãÂÒ£¬ÕâÀï×÷һЩ²¹³ä¡£
   
    ½Å±¾Ö÷Òª·Ö¡°±äÁ¿¶¨ÒåºÍÔ¤´¦Àí¡±<001-100>¡°Ö÷Ñ­»·¡±<101-242>Á½²¿·Ö¡£
   
    A.¡°±äÁ¿¶¨ÒåºÍÔ¤´¦Àí¡±
   
    Õâ¸ö½Å±¾ÃüÃûËæÒ⣬µ«ÊÇ´æ·Å·¾¶±ØÐëÓë<005>Ëù¶¨ÒåµÄ·¾¶Ïàͬ¡£(×¢£ºÕâÀïÒ²
ÍêÈ«¿ÉÒÔÓÃ`pwd`À´´úÌæ¡£)
    ½Å±¾ÔËÐкó»áÔÚµ±Ç°Â·¾¶ÏÂÉú³ÉÈçÏÂÎļþ£º
   
    log.txt     ¼Ç¼Õû¸öÔËÐÐÈÕÖ¾
   
    ring.txt    ¼Ç¼À´µçÁåÒôËæ»úÑ¡ÔñµÄĿ¼£¬Ä¿Ç°½Å±¾»á°üº¬¸ÃĿ¼µÄËùÓÐ×Ó
       Ŀ¼
      
    msg.txt     ¼Ç¼¶ÌÐÅÏ¢ÁåÒôËæ¼´Ñ¡ÔñµÄĿ¼£¬Í¬ÉÏ
   
    default.txt ¼Ç¼À´µçµÄ¹Ì¶¨ÎļþµÄĿ¼£¬
   
    maxmessage.txt  ¼Ç¼¶ÌÐŵÄ×ÏìÁåʱ¼ä
   
    ´ËÍ⻹²úÉúÁËһЩtmpµÄÁÙʱÎļþ¡£
    
    B.¡°Ö÷Ñ­»·¡±
    ϵͳ×ܻ᲻¶ÏÖ´ÐÐ<106>ÕâÌõÓï¾ä£¬¾­¹ýһЩ³¢ÊÔ£¬Ê¹ÓÃpidofЧÂÊÊÇ×î¸ßµÄ£¬
·ñÔòºǫ́һµ©ÆðÁËShell£¬ÏµÍ³ÕûÌåËÙ¶È»áÂÔÓмõÂý¡£
    Shell½ø³ÌÔËÐкó£¬Ò»µ©ÓÐÀ´µç£¬»á×Ô¶¯Ö´ÐÐ<114>ÏÂÃæµÄÄÚÈÝ£¬<118>-<130>
½øÐнø³ÌÐÅÏ¢ÌáÈ¡£¬ÅжÏÊǶÌÐÅÏ¢»¹ÊÇÀ´µç¡£<132>-<151>ÊǶԶÌÐŵÄÌØ±ð´¦Àí£¬
È糬¹ý×î´óÏìÁåʱ¼ä£¬¼´ÖÕÖ¹ÏìÁå¡£
    <157>-<234>ÊǶÔËæ¼´ÁåÉùÎļþµÄÕæÕý´¦Àí¡£¼´Ã¿´ÎÀ´µç£¬½«Îļþmv£¬´Ó¶ø±£
֤ϴÎÏìÁåµÄËæ»úÐÔ¡£
    Õâ¸ö½Å±¾Ö÷ÒªÓÃÁËbusybox£¬Ô­ÒòÊÇϵͳµÄÔ­À´µÄ¹¦ÄܱȽÏÓÐÏÞ¡£
    Îå¡¢ºó¼Ç

    ±¾½Å±¾Éæ¼°µÄÃüÁîÊÇÊ®·Ö³£¼ûµÄ£ºps,sed,find,grep,dateµÈ£¬ËùҪעÒâµÄÊÇ
E680ÊÇÓÃbash£¬¶ÔÓÚ$(())µÄÊýÖµÔËËã±í´ï·½Ê½£¬ÆäËüshell²¢²»ÄÜͨÓá£
    ¶ÔÓÚLinuxÊÖ»úÐÂÊÖÀ´Ëµ£¬ÏÖÔÚÖ»ÐèҪһЩÄÍÐÄÈ¥Ïû»¯½Å±¾ËùʹÓõÄShellÃüÁî
ºÍShell¹æ·¶¡£

×÷ÕßÉùÃ÷£ºÎÒ½÷±£Ö¤ÎÒÊÇ´Ë×÷Æ·µÄÖø×÷ȨÈË¡£ÎÒͬÒâÓÑÈËÍø·¢±í´Ë×÷Æ·¡£

ÓÑÈËÍøÉùÃ÷£º±¾ÎÄËùÓÐÎÄ×ÖºÍͼƬ°æÈ¨¾ùÊô×÷ÕߺÍÓÑÈËÍø¹²Í¬ËùÓУ¬ÑϽû×ªÔØ£¡

»úÐÍ×ÊÁÏ

ĦÍÐÂÞÀ­ E680g
ÉÏÊÐ: 2006Äê04ÔÂ
ÍøÂç: GSM
ÑÕÉ«: »ÃÓ°»Ò
¼Û¸ñ: ÒÑÏÂÊÐ
²ÎÊý±¨¼ÛÂÛ̳»­±¨

ÊÖ»ú»­±¨ ¸ü¶à»