On Tuesday, February 28, 2012 06:52:13 PM John Kearney wrote: > On 02/28/2012 06:43 PM, Dan Douglas wrote: > > On Tuesday, February 28, 2012 06:38:22 PM John Kearney wrote: > >> On 02/28/2012 06:31 PM, Dan Douglas wrote: > >>> On Tuesday, February 28, 2012 05:53:32 PM Roman Rakus wrote: > >>>> On 02/28/2012 05:49 PM, Greg Wooledge wrote: > >>>>> On Tue, Feb 28, 2012 at 05:36:47PM +0100, Roman Rakus > >>>>> > >>>>> wrote: > >>>>>> And that means, there isn't way to substitute "something" > >>>>>> to ' (single quote) when you want to not perform word > >>>>>> splitting. I would consider it as a bug. > >>>>> > >>>>> imadev:~$ q=\' imadev:~$ input="foosomethingbar" imadev:~$ > >>>>> echo "${input//something/$q}" foo'bar > >>>> > >>>> I meant without temporary variable. > >>>> > >>>> RR > >>> > >>> ormaaj@ormaajbox ~ $ ( x=abc; echo ${x/b/$'\''} ) a'c > >> > >> ( x=abc; echo "${x/b/$'\''}" ) -bash: bad substitution: no > >> closing `}' in "${x/b/'}" > >> > >> > >> you forgot the double quotes ;) > >> > >> > >> I really did spend like an hour or 2 one day trying to figure it > >> out and gave up. > > > > Hm good catch. Thought there might be a new quoting context over > > there. > > I think we can all agree its inconsistent, just not so sure we care?????? > i.e. we know workarounds that aren't so bad variables etc.
Eh, it's sort of consistent. e.g. this doesn't work either: unset x; echo "${x:-$'\''}" and likewise a backslash escape alone won't do the trick. I'd assume this applies to just about every expansion. I didn't think too hard before posting that. :) -- Dan Douglas