Android sh脚本数组问题

时间:2014-06-26 14:20:42

标签: android bash shell sh

好的,我不确定我在这里做错了什么?

我不断为这些行中出现[#]: not found错误。我要做的是创建一个属性和值数组,这样我就可以遍历它们并更新或写入我的build.prop文件。

#!/system/bin/sh

# PROP and PROP VALUE VARIABLE ARRAYS
PROPARR=;
PROPVALARR=;
#Properties to change Array
PROPARR[] = net.tcp.buffersize.default;
PROPARR[] = net.tcp.buffersize.wifi;
PROPARR[] = net.tcp.buffersize.umts;
PROPARR[] = net.tcp.buffersize.gprs;
PROPARR[] = net.tcp.buffersize.edge;
PROPARR[] = wifi.supplicant_scan_interval;
PROPARR[] = ro.HOME_APP_ADJ;
PROPARR[] = dalvik.vm.dexopt-flags;
PROPARR[] = dalvik.vm.execution-mode;
PROPARR[] = dalvik.vm.heapstartsize;
PROPARR[] = dalvik.vm.heapgrowthlimit;
PROPARR[] = dalvik.vm.heapsize;
PROPARR[] = dalvik.vm.heaptargetutilization;
PROPARR[] = dalvik.vm.heapminfree;
PROPARR[] = dalvik.vm.heapmaxfree;
PROPARR[] = debug.sf.hw;
#Property Values
PROPVALARR[] = 4096,87380,256960,4096,16384,256960;
PROPVALARR[] = 4096,87380,256960,4096,16384,256960;
PROPVALARR[] = 4096,87380,256960,4096,16384,256960;
PROPVALARR[] = 4096,87380,256960,4096,16384,256960;
PROPVALARR[] = 4096,87380,256960,4096,16384,256960;
PROPVALARR[] = 300;
PROPVALARR[] = 1;
PROPVALARR[] = m=y,v=n,o=v,u=n;
PROPVALARR[] = init:jit;
PROPVALARR[] = 16m;
PROPVALARR[] = 128m;
PROPVALARR[] = 512m;
PROPVALARR[] = 0.75;
PROPVALARR[] = 12m;
PROPVALARR[] = 16m;
PROPVALARR[] = 1;

我无法使用bash,因为这在Android设备上使用

更新

# this variable is just a place holder for the future line number of the prop values
lineNum=
# Loop through the properties I want to change
for i in $PROPARR; do

prop=$PROPARR[$i];
arg=$PROPVALARR[$i];
if grep -Fq $prop $FILE ; then
        lineNum=`sed -n "/${prop}/=" $FILE`;
        sed -i "${lineNum} c${prop}=${arg}" $FILE;
else
        echo $prop=$arg >> $FILE;
fi;

done;

1 个答案:

答案 0 :(得分:0)

我错误地设置了数组变量。

这是正确的方法:

#Properties to change Array
PROPARR = ('net.tcp.buffersize.default' 'net.tcp.buffersize.wifi' 'net.tcp.buffersize.umts' 'net.tcp.buffersize.gprs' 'net.tcp.buffersize.edge' 'wifi.supplicant_scan_interval' 'ro.HOME_APP_ADJ' 'dalvik.vm.dexopt-flags' 'dalvik.vm.execution-mode' 'dalvik.vm.heapstartsize' 'dalvik.vm.heapgrowthlimit' 'dalvik.vm.heapsize' 'dalvik.vm.heaptargetutilization' 'dalvik.vm.heapminfree' 'dalvik.vm.heapmaxfree' 'debug.sf.hw');
#Property Values
PROPVALARR = ('4096,87380,256960,4096,16384,256960' '4096,87380,256960,4096,16384,256960' '4096,87380,256960,4096,16384,256960' '4096,87380,256960,4096,16384,256960' '4096,87380,256960,4096,16384,256960' '300' '1' 'm=y,v=n,o=v,u=n' 'init:jit' '16m' '128m' '512m' '0.75' '12m' '16m' '1');