bash shell - 递增(关联)数组值

时间:2015-10-15 13:40:43

标签: linux bash shell sh

只想与您分享我自己并不容易找到的东西......

我是shell脚本的新手,只是想知道如何增加associative array的值。

让我们假设这个脚本:

#!/bin/bash

declare -A b # declare an associative array 

a="aaa"
b[$a]=1

echo ${b[@]} # display all the values
echo ${b[$a]} # display the first value (1)
echo ${b[aaa]} # display the first value as well (1)

解决方案可以是

((b[$a]++))
echo ${b[@]} # display 2

现在我发现它,似乎很明显,但我花了一些时间才得到它......

我希望这可以为人们节省一些时间:)

1 个答案:

答案 0 :(得分:1)

如上所述,解决方案可以是

((b[$a]++)) #  or (('b[$a]'++)) for a more secure way as pointed by @gniourf_gniourf
echo ${b[@]} # display 2

现在我发现它,似乎很明显,但我花了一些时间才得到它......

我希望这可以为人们节省一些时间:)