0
我想的louis
值修改到在此bash3地圖:如何更新bash3關聯數組中的值?
ARRAY=("nicolas:red"
"louis:blue")
我試着用ARRAY+=("louis:green")
覆蓋,但它不工作:我結束了一個3元素數組複製的鑰匙。
注:我不能使用bash4的現代地圖,所以我必須使用bash3 associative arrays。
我想的louis
值修改到在此bash3地圖:如何更新bash3關聯數組中的值?
ARRAY=("nicolas:red"
"louis:blue")
我試着用ARRAY+=("louis:green")
覆蓋,但它不工作:我結束了一個3元素數組複製的鑰匙。
注:我不能使用bash4的現代地圖,所以我必須使用bash3 associative arrays。
這只是一個常規(整數)索引數組。您必須遍歷它才能找到要替換的正確索引。 (這也將用於添加新元素,因爲索引將超過現有陣列的末尾。)
for ((i=0; i<${#ARRAY[*]}; i++)); do
[[ ${ARRAY[i]} = louis:* ]] && break
done
ARRAY[i]=louis:green