Mail Archives: djgpp-workers/2000/04/10/13:14:37
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'.
The issue is this, as far as I understand: given the command line like
so:
foo=bar baz `some-command`
I'd expect `baz' to be invoked with a single argument, whose value is what
`some-command' prints to its stdout. I would also expect `foo' to have
the value "bar" during the execution of `baz'.
Is something wrong with my expectations? If not, it seems that Bash
doesn't behave like that, at least in the example posted by Prashant TR.
- Raw text -