[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
feature request: apply parameter expansions to array keys
From: |
Ken Irving |
Subject: |
feature request: apply parameter expansions to array keys |
Date: |
Sun, 15 Dec 2013 16:40:45 -0900 |
User-agent: |
Mutt/1.5.20 (2009-06-14) |
No bug here, but I naively expected the pattern substitution expansion
to work on array keys as well as values, e.g.:
$ declare -A h
$ h[foo]=x h[bar]=y
$ # show keys and values:
$ printf "\t<%s>\n" "${!h[@]}" "${h[@]}"
<bar>
<foo>
<y>
<x>
$ # try to pad keys and values:
$ printf "\t<%s>\n" "${!h[@]/#/ }" "${h[@]/#/ }"
<>
< y>
< x>
I wanted to print out array keys with some padding, easily done in a loop,
but I wanted the padding applied to the separate strings generated using
the quoted [@] expansion.
The manpage documents the ${!name[@]} 'List of arrays keys' expansion
separately from the pattern substitution expansion, so it's all working
as documented, but I think the syntax could allow this.
I'm not running the latest bash:
$ bash --version
GNU bash, version 4.2.37(1)-release (i486-pc-linux-gnu)
Ken
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- feature request: apply parameter expansions to array keys,
Ken Irving <=