我正在尝试使用以下代码将数组中的值增加1,但是我遇到了一些问题。请有人帮帮我吗?
myArray[$position]=((${myArray[$position]}++))
答案 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的提醒!
我希望这会有所帮助。