declare -A color color["red"]="#ff0000" color["green"]="#00ff00" color["blue"]="#0000ff"也可以在定義的同時賦值:
declare -A color=(["red"]="#ff0000", ["green"]="#00ff00", ["blue"]="#0000ff")不同於普通陣列,關聯陣列必須使用帶有
-A
選項的 declare 命令建立。關於 declare 命令的詳細用法請存取:Shell declare和typeset命令:設定變數屬性
array_name["index"]
例如:color["white"]="#ffffff" color["black"]="#000000"
$()
即可獲取陣列元素的值:
$(array_name["index"])
例如:echo $(color["white"]) white=$(color["black"])
${array_name[@]}
${array_name[*]}
${!array_name[@]}
${!array_name[*]}
${#array_name[*]}
${#array_name[@]}
#!/bin/bash declare -A color color["red"]="#ff0000" color["green"]="#00ff00" color["blue"]="#0000ff" color["white"]="#ffffff" color["black"]="#000000" #獲取所有元素值 for value in ${color[*]} do echo $value done echo "****************" #獲取所有元素下標(鍵) for key in ${!color[*]} do echo $key done echo "****************" #列出所有鍵值對 for key in ${!color[@]} do echo "${key} -> ${color[$key]}" done執行結果: