pwd vs $PWD, bash, cygwin vs Linux

John Williams jwilliams@itee.uq.edu.au
Wed May 4 05:13:00 GMT 2005


Christopher Faylor wrote:

>>>In this case, the operative observation is bash != ash.  PWD is a bash
>>>construct.  You would be much better off just using the gnu make
>>>"CURDIR" variable.  Changing PWD to CURDIR in your examples makes things
>>>work as you'd expect.
>>
>>Thanks for the quick response and workaround.
>>
>>While what you say might be a true statement, "better off" means 
>>different things to different people!
> 
>>What surprised me was that the same shell, and same make, resulted in 
>>different behaviour.  I guess this is just reflecting differences in the 
>>underlying process architectures of Linux vs Windows.
> 
> Again, it *isn't* the same shell.  You have now learned that it isn't
> the same shell and you now know that this is the reason for the
> inconsistency.  ash isn't normally used as /bin/sh on linux.  A stripped
> down version of ash is used as /bin/sh for performance purposes on
> cygwin.  ash does not set PWD.

OK - I see the confusion.  Make is spawning ash as the subshell, not 
bash.  Now everything you said makes sense.  Out of interest, can that 
behaviour be modified at the runtime/user/Makefile level?

Cheers,

John

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/



More information about the Cygwin mailing list