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

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

POSIX requires /bin/sh to keep $PWD accurate, but ash does not meet POSIX requirements (in this and a number of other instances).  PWD is not just for bash, it is for all compliant shells.  Unfortunately, all of the open-source compliant shells come with so much extra weight (read: interactive features that aren't used by shell scripts, but that consume memory and slow down forks) that none of them have been deemed acceptable for replacing ash as cygwin's /bin/sh.

Also, you can safely use /bin/pwd from coreutils to find out your real current directory, although it does not yet implement the POSIX-required -L vs. -P options.

Eric Blake

Unsubscribe info:
Problem reports:

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