++

On Mon, Jul 28, 2025, 4:52 PM Chet Ramey <chet.ra...@case.edu> wrote:

> On 7/28/25 4:29 AM, Oğuz wrote:
> > On Sat, Jul 26, 2025 at 9:44 PM Greg Wooledge <g...@wooledge.org> wrote:
> >> The quotation marks don't appear to matter, but
> >> the trailing $ does.
> >
> > `$!' works as well, when there's no most recent asynchronous job:
> >
> >      $ printf '<%s>\n' $(seq 3)$!
> >      <1
> >      2
> >      3>
> >      $
> >
> > I think the problem is right here:
> >
> https://cgit.git.savannah.gnu.org/cgit/bash.git/tree/subst.c?h=devel#n11524
> > The function `param_expand' writes 0 to `*expanded_something' when
> > `string' ends with `$' or `$!' and there's no async job, and bash
> > forgets all the expansions it has done in that word. Maybe it was
> > supposed to be called with the address of a local copy of
> > `expanded_something'? There's a variable named `local_expanded' in
> > that function that seems to be unused...
>
> Good catch, that is the right approach.
>
> Chet
> --
> ``The lyf so short, the craft so long to lerne.'' - Chaucer
>                  ``Ars longa, vita brevis'' - Hippocrates
> Chet Ramey, UTech, CWRU    c...@case.edu    http://tiswww.cwru.edu/~chet/
>

Reply via email to