如何将bash脚本数组中的值增加1?

时间:2011-11-19 16:48:12

标签: arrays bash increment

我正在尝试使用以下代码将数组中的值增加1,但是我遇到了一些问题。请有人帮帮我吗?

myArray[$position]=((${myArray[$position]}++))

1 个答案:

答案 0 :(得分:16)

试试这个

 myArr[3]=7
 (( myArr[3]++ ))
 echo ${myArr[3]}

 # output
 8

(( .... ))可以执行bash / ksh的数学运算,并且内部引用的变量不需要像你的例子那样传递出去,你可能会想到一个类似的构造var=$(( ... MathStuff ...)) OR var=$( ... stringStuff ... ) (注意开场前的'$')。

另请注意,在(( ... ))内,您不需要为$ pct或$ counter等任何数学变量使用前导'$'。如果您正在使用脚本的参数或类似$ 1,$ 2,... $ N的函数,那么您需要使用$,因此使用$ 1的值,而不是仅使用'1'。感谢@ChrisDown的提醒!

我希望这会有所帮助。