Date: Mon, 10 Apr 2000 19:50:16 +0200 (IST) From: Eli Zaretskii X-Sender: eliz AT is To: "Mark E." cc: djgpp-workers AT delorie DOT com Subject: Re: Porting problems with Sh-utils (beta) In-Reply-To: <38F1D216.13576.2718AE@localhost> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Reply-To: djgpp-workers AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: djgpp-workers AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk 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.