The*_*imp 6 arrays bash increment
我正在尝试使用以下代码将数组中的值增加1,但是我遇到了一些问题.请有人帮帮我吗?
myArray[$position]=((${myArray[$position]}++))
Run Code Online (Sandbox Code Playgroud)
she*_*ter 18
试试这个
myArr[3]=7
(( myArr[3]++ ))
echo ${myArr[3]}
# output
8
Run Code Online (Sandbox Code Playgroud)
将(( .... ))可以执行的bash/KSH的数学运算,和内部参考的变量,并不需要在你的例子要传递出来的,你可能在想一个类似结构的var=$(( ... MathStuff ...)) OR var=$( ... stringStuff ... )(注意开括号前的"$").
另请注意,在内部,(( ... ))您不需要为$ pct或$ counter等任何数学变量使用前导'$'.如果您正在使用脚本的参数或类似$ 1,$ 2,... $ N的函数,那么您需要使用$,因此使用$ 1的值,而不是仅使用'1'.感谢@ChrisDown的提醒!
我希望这有帮助.