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

> 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

You could replace the /bin/sh.exe executable with a copy of bash.exe, but
that would be at the "everywhere, all the time" level.  That used to be a
regularly suggested workaround for similar problems back in the proverbial
day, but it's been ages since I've done that myself, so I can't tell you
what other problems that might cause.

Gary R. Van Sickle

Unsubscribe info:
Problem reports:

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