This is the mail archive of the cygwin mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: pwd vs $PWD, bash, cygwin vs Linux

On Wed, May 04, 2005 at 02:32:07PM +1000, John Williams wrote:
>Christopher Faylor wrote:
>>On Wed, May 04, 2005 at 11:08:43AM +1000, John Williams wrote:
>>>Essentially under Cygwin the PWD variable seems to be "frozen" at its
>>>value upon first launching Make from the commandline, while under Linux
>>>it is being updated for each child process spawned by `make -C XXX`
>>>I know that Cygwin != Linux, however is it a reasonable expectation
>>>that under the same shells, the same behaviour should apply?
>>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!

"Better off" == "it works" vs.  "not better off" == "it doesn't work".

>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.


Unsubscribe info:
Problem reports:

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]