pwd vs $PWD, bash, cygwin vs Linux
Gary R. Van Sickle
g.r.vansickle@worldnet.att.net
Wed May 4 05:58: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
>
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: 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