我有兴趣在 for 循环中更新数组元素值,但我的更新定义是错误的,因为输出包含[counter]
. 这是我的代码:
declare -a mem_set=(0 0 0 0 0 0 0)
counter=0
for i in "${domain_path[@]}"
do
cd $i
echo "$(pwd)"
for mLine in $(grep 'default.default.minmaxmemory.main' start_params.properties)
do
echo "$mLine"
done
l_bound="Xmx"
r_bound="m"
mem_set[counter]=$(echo "$mLine" | sed -e "s/.*${l_bound}//;s/${r_bound}.*//")
echo "$mem_set[counter]"
let counter=counter+1
done
循环和$(echo "$mLine" | sed -e "s/.*${l_bound}//;s/${r_bound}.*//")
运行良好,但我无法获得正确的输出。我的更新声明缺少什么?它的输出是2048[counter]
。另外,除了使用另一个计数器counter
之外i
,是否也可以使用i
数组mem_set
(两个数组的大小相同)?
谢谢