delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp-workers/2000/04/10/13:14:37

Date: Mon, 10 Apr 2000 19:50:16 +0200 (IST)
From: Eli Zaretskii <eliz AT is DOT elta DOT co DOT il>
X-Sender: eliz AT is
To: "Mark E." <snowball3 AT bigfoot DOT com>
cc: djgpp-workers AT delorie DOT com
Subject: Re: Porting problems with Sh-utils (beta)
In-Reply-To: <38F1D216.13576.2718AE@localhost>
Message-ID: <Pine.SUN.3.91.1000410194443.26090B-100000@is>
MIME-Version: 1.0
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

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 -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019