第一件事,這裏是代碼:有在我的bash腳本數組循環的問題首先
# build.prop Tweaks
FILE=/system/build.prop
#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');
# 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;
現在,orignally的循環,我訪問這樣的數組:prop=$PROPARR[$i]; arg=$PROPVALARR[$i];
但它被寫奇怪的代碼的build.prop
末,它是唯一的數組(S)
所以,後來我想它就像我張貼在第一個項目,現在我得到一個syntax error near unexpected token '('
因此,在我遇到的第一個問題中,我認爲假設#1循環未被正確寫入是安全的,#2我正嘗試寫入的文本寫入錯誤,#3是正確的方式訪問項目
所以,問題是,我怎麼能解決這個問題,因此該循環正確遍歷數組,並寫入適當的行build.prop
(或更新,如果發現線路)
定義自己的陣列'陣列=(世界你好)'和1.打印第二元件,2.遍歷並打印每個元素。當你對某種語言不熟悉時,確實有助於從小處着手並一次性修正一個錯誤,而不是編寫一個完整的程序,然後嘗試一次修復所有內容。 –