help-bash
[Top][All Lists]
Advanced

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

Re: why fail , [[ $sep$*$sep == $sep--$sep ]]


From: alex xmb sw ratchev
Subject: Re: why fail , [[ $sep$*$sep == $sep--$sep ]]
Date: Tue, 20 Feb 2024 17:18:14 +0100

On Tue, Feb 20, 2024, 17:06 Kerin Millar <kfm@plushkava.net> wrote:

> On Tue, 20 Feb 2024 15:46:22 +0000
> Kerin Millar <kfm@plushkava.net> wrote:
>
> > On Tue, 20 Feb 2024 10:34:43 -0500
> > Chet Ramey <chet.ramey@case.edu> wrote:
> >
> > > On 2/17/24 10:07 AM, alex xmb sw ratchev wrote:
> > > > i was trying and epic failed
> > > >
> > > > set aa bb cc -- dd ; f=$'\1' IFS=$f ; [[ $f$*$f == "$f--$f" ]] &&
> echo ye
> > > >
> > > > it says no ye
> > >
> > > It looks like you've found a bug that manifests itself under a very
> > > specific set of circumstances: IFS=$'\1', word splitting not performed,
> > > and an unquoted word. Bash doesn't quote the ^A sufficiently, and since
> > > it uses ^A as an internal quote character, removes it. This causes the
> > > match to fail. There are other places this happens: case commands,
> shell
> > > pattern expansion, and array subscript expansion.
> > >
> > > I pushed a fix for it this morning; there is another change in the
> > > pipeline.
> >
> > Thanks.
>
> Though it is not particularly important at this juncture, I would add that
> Alex's pattern was wrong to begin with. I corrected the pattern and
> provided some diagnostics but it was actually Lawrence who identified - and
> initially raised - the discrepancy concerning the handling of $'\1'.
>

ye my code was wrong ( still is )
i also didnt understand the hexes much
i ended up thinking for only arg parsing , without this check
thanks++

-- 
> Kerin Millar
>


reply via email to

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