On Sun, Feb 28, 2021 at 10:32:13PM +0000, k...@plushkava.net wrote: > Why not indeed. However, I think that I'm able to decipher this. > > $ declare -A map; key=$'foo\34bar'; map[$key]= > $ set -x > $ : "$key" > + : $'foo\034bar' > $ unset "map[$key]" > + unset 'map[foobar]' > > For the unset command, xtrace elects to emit the (non-printable) FS > character verbatim rather than employ the ANSI-style notation. Presumably, > this led to the conclusion that bash doesn't "display em".
I agree: $ declare -A map; key=$'foo\34bar'; map[$key]= $ exec {BASH_XTRACEFD}> >(sed -ue 's/\o34/<<\\34>>/') $ set -x $ : "$key" + : $'foo\034bar' $ unset map["$key"] + unset 'map[foo<<\34>>bar]' -- Félix Hauri - <fe...@f-hauri.ch> - http://www.f-hauri.ch