답변:
이 멋진 매개 변수 확장으로 키와 값을 동시에 얻을 수 있습니다.
for key val in ${(kv)assoc_array}; do
echo "$key -> $val"
done
Zsh 매뉴얼의 매개 변수 확장 플래그 를 참조하십시오 .
내 질문을 한 후에 검색을 계속 하고 Unix StackExchange 에서이 답변 을 찾았 습니다.
typeset -A assoc_array
assoc_array=(k1 v1 k2 v2 k3 v3)
for k in "${(@k)assoc_array}"; do
echo "$k -> $assoc_array[$k]"
done
출력은 다음과 같습니다
k1 -> v1
k2 -> v2
k3 -> v3
$options
. (참조 man zshoptions
)
for i in a,b c_s,d ; do KEY=${i%,*}; VAL=${i#*,}; echo $KEY" XX "$VAL; done