In article <[EMAIL PROTECTED]>, 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/