Saya punya array ini:
declare -A astr
Saya menambahkan elemen ke dalamnya:
astr[elemA]=123
astr[elemB]=199
Tapi nanti saya perlu tahu apa ID indeks (elemA dan elemB) dan daftar mereka.
echo "${astr[@]}" #this only get me the values...
Anda bisa mendapatkan daftar "kunci" untuk array asosiatif seperti:
$ echo "${!astr[@]}"
elemB elemA
Anda dapat beralih di atas "kunci" seperti:
for i in "${!astr[@]}"
do
echo "key : $i"
echo "value: ${astr[$i]}"
done
$ for i in "${!astr[@]}"; do echo "key : $i"; echo "value: ${astr[$i]}"; done
key : elemB
value: 199
key : elemA
value: 123
astr2=(a b c d e);echo ${!astr2[@]};unset astr2[2];echo ${!astr2[@]}
thx!${!var[index]}
tidak berfungsi, hanya${!var[@]}
atau${!var[*]}
lakukan :(!
keluarkan jadi${var[index]}
. tldp.org/LDP/abs/html/arrays.htmlkeys=(${!var[@]})
dan kemudian${keys[n]}
memberi saya indeks, tetapi pada saat yang sama saya juga menyadari bahwa saya perlu memikirkan kembali pendekatan saya.