W zsh chcę iterować po tablicy asocjacyjnej. Potrzebuję zarówno kluczy, jak i wartości. Ale kiedy normalnie wykonuję iterację tablicy asocjacyjnej ( for x in $assoc_array
), Dostaję tylko wartości.
Wszystkie przykłady, które obejrzałem pokazują, że podany klucz , możesz uzyskać jego wartość z tablicy asocjacyjnej. Moim problemem jest uzyskanie zestawu kluczy na początek.
Czy zsh obsługuje iterację nad kluczami w tablicy asocjacyjnej?
for i in a,b c_s,d ; do KEY=${i%,*}; VAL=${i#*,}; echo $KEY" XX "$VAL; done
Odpowiedzi:
Możesz uzyskać oba klucze i wartości naraz, dzięki temu sprytnemu rozszerzeniu parametrów:
Widzieć Flagi rozszerzające parametry w instrukcji Zsh.
źródło
Kontynuowałem poszukiwania po zadaniu pytania i znalazłem ta odpowiedź na Unix StackExchange:
Wyjście to:
źródło
$options
. (Widziećman zshoptions
)