bash shell - 递增(关联)数组值
bash shell - increment (associative) array value
只是想和你分享一些我自己不容易找到的东西...
我是 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
现在我找到了,似乎很明显,但我花了一些时间才得到它...
我希望这可以为人们节省一些时间:)
如上所述,解决方案可以是
((b[$a]++)) # or (('b[$a]'++)) for a more secure way as pointed by @gniourf_gniourf
echo ${b[@]} # display 2
现在我找到了,似乎很明显,但我花了一些时间才得到它...
我希望这可以为人们节省一些时间:)
只是想和你分享一些我自己不容易找到的东西...
我是 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
现在我找到了,似乎很明显,但我花了一些时间才得到它...
我希望这可以为人们节省一些时间:)
如上所述,解决方案可以是
((b[$a]++)) # or (('b[$a]'++)) for a more secure way as pointed by @gniourf_gniourf
echo ${b[@]} # display 2
现在我找到了,似乎很明显,但我花了一些时间才得到它...
我希望这可以为人们节省一些时间:)