如何用for循环中的值填充数组

我必须提交一个脚本,在for循环中添加两个值,并将每个结果放在一个数组中。 我放了一个脚本(这是不工作),但我不知道如何开始。

#!/bin/sh val1=$1 val2=$2 for i in 10 do ${array[i]}='expr $val1+$val2' $val1++ done echo ${array[@]} 

也许你是这个意思?

 val1=$1 val2=$2 for i in {1..10}; do array[i]=$(( val1 + val2 )) (( ++val1 )) done echo "${array[@]}" 

如果bash不支持{x..y} ,请使用以下格式:

 for (( i = 1; i <= 10; ++i )); do 

也更简单的形式

  array[i]=$(( val1 + val2 )) (( ++val1 )) 

  (( array[i] = val1 + val2, ++val1 )) ## val1++ + val2 looks dirty 

konsolebox的答案是正确的,但这里有一些选择:

 val1=$1 val2=$2 for i in {0..9}; do (( array[i]=val1 + val2 + i )) done echo "${array[@]}" 

 val1=$1 val2=$2 for (( i=val1 + val2; i < val1 + val2 + 10; i++ )); do array+=("$i") done echo "${array[@]}"