#!/system/bin/sh
filename=count.txt // 纪录重启次数
a=`cat $filename` 
a=$(($a + 1))
c=5
if [ $a -lt $c ]; then
echo $a > $filename
sleep 35
reboot
else
       echo OK!
fi该shell 添加到了init.rc中自动执行。问题: 第一次手动执行, 次数加了1,后面自动重启,自动执行该脚本。可是count.txt 次数却没有发生,求解,谢谢!

解决方案 »

  1.   

    开始以为硬盘还没mount 上呢,所以在脚本最前面加了 sleep 30 也不行。
      

  2.   

    a=$(($a + 1))
    改成
    a=$a + 1
    试试
      

  3.   

    感觉像是文件存放的分区问题,我把这个count.txt放在/data下

    echo $a > $filename
    sync
    sleep 35加了句sync,重启后看,很正常的。a=$a+1貌似a就会变成2+1的字符串了吧
      

  4.   

    恩 你原来是对的 我搞错了 试了手动执行是没问题的还有执行脚本时的路径也没确定 先cd /data 试试再就看文件系统是不是只读的
      

  5.   

    或者你的路径用绝对路径filename=/data/count.txt