听起来您想要一个关联数组。
# to set values over time
declare -A Array=( ) || { echo "ERROR: Need bash 4.0 or newer" >&2; exit 1; }
Array[var1]=1
Array[var2]=2
Array[var3]=3
也可以一次分配:
# or as just one assignment
declare -A Array=( [var1]=1 [var2]=2 [var3]=3 )
无论哪种方式,都可以使用来遍历键"${!Array[@]}",并使用来检索键的值${Array[key]}:
for var in "${!Array[@]}"; do
val="${Array[$var]}"
echo "$var -> $val"
done
...在完成任何一项分配之后,将正确发出:
var1 -> 1
var2 -> 2
var3 -> 3