Hi Reuti, Andreas,

Yes, forgot to mention the bash versions I have tried: 4.3.46 on Arch Linux
and 4.1.2 on CentOS 6.8.

This is getting weirder: I've found I can replicate the behaviour you are
getting Reuti, if I first do this command:

unset COMMAND_PROMPT

If I want to go back to the behaviour I first experienced (i.e.
Rubbles=barney after running assemble_fam1 then assemble_fam2), then I put
the default COMMAND_PROMPT back:

PROMPT_COMMAND='printf "\033]0;%s@%s:%s\007" "${USER}" "${HOSTNAME%%.*}"
"${PWD/#$HOME/~}"'

Does this work the same for you?

Geoff


On 1 March 2017 at 02:21, Reuti <re...@staff.uni-marburg.de> wrote:

> Hi,
>
> > Am 28.02.2017 um 11:00 schrieb Andreas Schwab <sch...@linux-m68k.org>:
> >
> > On Feb 28 2017, Geoff Hull <gbh...@gmail.com> wrote:
> >
> >> If I "source" the attached file (i.e. ". test_aliases") in a bash
> session,
> >> then run the following:
> >>
> >> assemble_fam1
> >> assemble_fam2
> >> say_families
> >>
> >> I see the following output:
> >>
> >> Flintstones=wilma:bam-bam:fred
> >> Rubbles=barney
>
> In which version of Bash are you observing this? For me it's working using
> this order, but when I swap assemble_fam1 and assemble_fam2 I observe a
> strange behavior, that RUBBLES gets reset and I get your output:
>
> $ assemble_fam1
> $ assemble_fam2
> $ say_families
> Flintstones=wilma:bam-bam:fred
> Rubbles=betty:pebbles:barney
> $ reset_vars
> $ assemble_fam2
> $ say_families
> Flintstones=
> Rubbles=betty:pebbles:barney
> $ assemble_fam1
> $ say_families
> Flintstones=wilma:bam-bam:fred
> Rubbles=barney
>
>
> This I have in 4.2 and 4.4.
>
> $ reset_vars
> + reset_vars
> + unset FSTONES RUBBLES
> $ assemble_fam2
> + barney
> ++ echo barney
> + RUBBLES=barney
> $ say_families
> + RUBBLES=betty:pebbles:barney
> + say_families
> + echo Flintstones=
> Flintstones=
> + echo Rubbles=betty:pebbles:barney
> Rubbles=betty:pebbles:barney
> $ assemble_fam1
> + fred
> ++ echo fred
> + FSTONES=fred
> + FSTONES=wilma:bam-bam:fred
> $ say_families
> + say_families
> + echo Flintstones=wilma:bam-bam:fred
> Flintstones=wilma:bam-bam:fred
> + echo Rubbles=barney
> Rubbles=barney
>
>
> > It seems like the shell is eating an extra newline.  Try typing an empty
> > line after assemble_fam2:
>
> The extra newline doesn't help for the observation above. While defining
> assemble_famX in one line for both does as mentioned by Geoff.
>
> -- Reuti
>

Reply via email to