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等)并参与表达式?
我们来看一个例子:
$ 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)