d...@ftb-esv.de wrote:
Description: Command: x="a b c"; echo "'${x// /','}'" On old systems the output is: 'a','b','c' In this version the output is: 'a,b,c' This new behavior breaks some scripts.
--- The way I'd see it is that the ',' in the replacement text field needs to have its quotes quoted. I.e. this works:
echo "'${x// /"','"}'"
'a','b','c' ---- So it's really just a matter of quote removal occurring in the replacement text. In that respect, it is consistent with:
echo "$(echo 'hi')"
hi where you get hi w/no quotes, vs.:
echo "$(echo "'hi'")"
'hi' If quotes didn't function in the 2nd part, I'd think it a bug, since it would be using the literal value in the 2nd part and one wouldn't be able to use a variable (like Greg did, though I didn't see the need to put the quotes in a variable).