This is the mail archive of the
cygwin@cygwin.com
mailing list for the Cygwin project.
Re: About ENV?
- From: James Hu <jxh at despammed dot com>
- To: cygwin at cygwin dot com
- Date: Fri, 18 Oct 2002 15:56:34 +0000 (UTC)
- Subject: Re: About ENV?
- Organization: Despammed
- References: <3DAFAAB7.6070502@21cn.com>
In article <3DAFAAB7.6070502@21cn.com>, 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/