Попробуйте это
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 за напоминание!
Надеюсь, это поможет.