Shell脚本,仅限sh - 无bash - 尝试使用整数添加关联值 - “expr:non-numeric argument”

时间:2014-02-05 01:35:58

标签: arrays shell sh

您好我正在尝试将两个值一起添加,一个是文件的输入,另一个是关联数组中的先前存储值。

关联数组的例子:

moo - > 56

boo - > 34

foo - > 57

moo - > 45

我有所有代码检测以前存在的关联数组值,但是当我尝试将它们添加到同一个键的当前值时,我收到“expr:non-numeric argument”错误。

这是我用来添加两个值的行:

c=`expr $i + eval $a$b`

1 个答案:

答案 0 :(得分:0)

sh没有关联数组。如果您已经实现了自己的实现,则必须指定实现方式。

假设你是通过前缀和密钥来完成的,例如: arr_moo=56

i=4
arr_moo=56
a=arr_
b=moo

并且要iab您要添加iarr_moo的值,您可以使用:

c=$((i + $a$b))
echo "$c"

将打印60