Subject: Re: About ENV?
From: James Hu <[email-masked]>
To: [email-masked]
Date: Fri, 18 Oct 2002 15:56:34 +0000 (UTC)

In article <[email-masked]>, Huang. wrote:
> Why env in cygwin work like these:

I am sure this is off topic, since all UNIX shells based on Bourne
shell will behave this way.  This is not specific to Cygwin.

> $ AAAA=aaa echo $AAAA

This syntax says: Set variable AAA to aaa in the environment of the
command "echo $AAA".  However, the command "echo $AAA" will echo the
value of variable AAA in the current environment, since the expansion
of variables occurs before the command is executed.

> $ AAAA=aaa; echo $AAAA
> aaa

According to the explanation above, this is expected behavior.

> $ echo $AAAA
> aaa

According to the explanation above, this is expected behavior.

To do what I think you want to test try the following:

     AAA=bbb eval 'echo $AAA in' ; echo $AAA out
or   AAA=bbb sh -c 'echo $AAA in' ; echo $AAA out
or   (AAA=bbb; echo $AAA in) ; echo $AAA out

All of these commands involve echoing the value of AAA in an environment
that is in the inner scope of the environment of the command line.

-- James

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/