bug-bash
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Inconsistent quote and escape handling in substitution part of param


From: Dan Douglas
Subject: Re: Inconsistent quote and escape handling in substitution part of parameter expansions.
Date: Tue, 28 Feb 2012 12:00:36 -0600
User-agent: KMail/4.7.4 (Linux/3.1.6-pf; KDE/4.7.4; x86_64; ; )

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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]