On Wed, Mar 17, 2021 at 09:58:24PM +0200, Ilkka Virta wrote: > On Wed, Mar 17, 2021 at 8:26 PM Greg Wooledge <g...@wooledge.org> wrote: > > > I thought, for a moment, that bash already used $'...' quoting for > > newlines, but it turns out that's false. At least for declare -p. > > It would be nice if it did, though. Newlines, carriage returns, escape > > characters, etc. > > > > It does in some cases: > > $ a=($'new \n line' $'and \e esc'); declare -p a > declare -a a=([0]=$'new \n line' [1]=$'and \E esc')
But not for string variables, it seems. unicorn:~$ unset a b; a=($'x\ny') b=$'c\nd'; declare -p a b declare -a a=([0]=$'x\ny') declare -- b="c d" It would be nice if the string variables were handled the same way as the array elements.