簡體   English   中英

如何將bash腳本數組中的值增加1?

[英]How can I increment a value in a bash script array by 1?

我正在嘗試使用以下代碼將數組中的值增加1,但是我遇到了一些問題。 請有人幫幫我嗎?

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

嘗試這個

 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的提醒!

我希望這有幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM