从字符串数组中添加两个数字的正确bash语法是什么?

sta*_*wer 1 arrays syntax bash

我必须从管道读取一个字符串,我正在使用

read -a line 
Run Code Online (Sandbox Code Playgroud)

为了那个原因.

然后我需要从字符串中计算出两个数字(此时字符串包含数字正好在我需要的位置).

然后我试着写这个:

number= 10*${line[4]} + ${line[5]}
Run Code Online (Sandbox Code Playgroud)

并从bash中获取这些错误:

local: `10*1': not a valid identifier
local: `+': not a valid identifier
Run Code Online (Sandbox Code Playgroud)

如何正确地写出这些字符串字段将转换为数字("50"到50等)并参与表达式?

fed*_*qui 5

我们来看一个例子:

$ a[0]=12
$ a[1]=23
$ res=$(( ${a[0]} + ${a[1]}))
$ echo $res
35
Run Code Online (Sandbox Code Playgroud)

所以在你的情况下你需要这样做

num=$(( 10*${line[4]} + ${line[5]}))
Run Code Online (Sandbox Code Playgroud)