如何在数组中添加整数

DSH*_*H72 4 command-line bash scripts

我正在尝试在数组中添加一些数字。

例子:

array=( 2, 4, 6, 8, 10, 12, 14, 16, 18, 20 )
Run Code Online (Sandbox Code Playgroud)

我已经这样做了,但我想使用一个数组,然后在 shell 脚本中对数字求和。

num1=2
num2=4
num3=8
num4=10
num5=12
num6=14
num7=16
num8=18
num9=20
sum=$((num1+num2+num3+num4+num5+num6+num7+num8+num9))
echo "The sum is: $sum"
Run Code Online (Sandbox Code Playgroud)

hee*_*ayl 12

你可以做:

$ array=( 2, 4, 6, 8, 10, 12, 14, 16, 18, 20)

$ echo "${array[@]/,/+}" | bc               
110
Run Code Online (Sandbox Code Playgroud)
  • ${array[@]/,/+}是取代所有的参数扩展图案,+在的所有元素array

  • 然后bc简单地做加法

让我们把它分解一下以便澄清:

$ array=( 2, 4, 6, 8, 10, 12, 14, 16, 18, 20)

$ echo "${array[@]/,/+}"                     
2+ 4+ 6+ 8+ 10+ 12+ 14+ 16+ 18+ 20

$ echo "${array[@]/,/+}" | bc
110
Run Code Online (Sandbox Code Playgroud)

  • 不需要逗号:`array=( 2 4 6 8 10 12 14 16 18 20); echo "${array[@]/%/+}0" | 公元前` (5认同)