Mail Archives: djgpp-workers/2000/04/10/14:33:00
>
> On Mon, 10 Apr 2000, Mark E. wrote:
>
> > Actually, I think the snippet should be modified to:
> >
> > > all:
> > > source='There is no bug in BASH!' ; \
> > > $(SHELL) ./script ;
> > > echo `echo`script executed
> > >
> >
> > Line continuation is fine, but you still have to use ';' for multiple
> > commands. With the modified version, 'echo $source' is empty inside
> > './script', but I think that's correct since the value isn't exported.
>
> No, I don't think so, on both counts. The syntax "foo=bar baz" is a
> valid Unix shell syntax of a single command: it assigns the value "bar"
> to the variable `foo' and then runs the command `baz' while exporting
> to it this value of `foo'.
I agree with Eli. In the second example (and the first), ./script is the
shell-script being executed and everything else is just a command line that's
passed to it. So, in both cases, the value of source must be passed on to this
script. If not, why is it that only `...` causes the problem, while everything
else seems to work fine?
What I think is happening is that the value of source is being lost after the
execution of the 1st process (that's `echo`). And since the script is invoked
next (the 2nd process to run), the "source" value is for some reason not passed
on which I think is a bug.
- Raw text -