This is the mail archive of the cygwin@cygwin.com 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: cygwin symlink? bug


Max, Trevor,

BASH keeps an internal idea of the current working directory. In the face of symbolic links, this internal record of the current working directory may not be identical to that computed by the "pwd" programs traversal-to-root algorithm.

I use this instead of BASH's built-in pwd command:

wd() {
WD="$(pwd)"
WDP="$(/bin/pwd)"
if [ "$WD" != "$WDP" ]; then
echo "bash: $WD"$'\n'"real: $WDP"
else
echo "$WD"
fi
}

I use this one if I want to see the Windows form of the current working directory, too:

awd() {
WD="$(pwd)"
WDP="$(/bin/pwd)"
if [ "$WD" != "$WDP" ]; then
echo "bash: $WD"$'\n'"cyg: $WDP"
else
echo "cyg: $WD"
fi
echo "win: $(cygpath -w -a "$(pwd)")"
echo "mix: $(cygpath -m -a "$(pwd)")"
}

Randall Schulz


At 05:48 2003-02-09, Max Bowsher wrote:
Trevor Forbes wrote:
> I am having problem with some of my build scripts and the following
> demonstrates the problem:
>
> If run the following (as a script) I get -- /tmp/foo/bar
> # !/bin/bash

Are you sure? I can reproduce your results only if I change the shebang to
/bin/sh.

> cd /tmp; mkdir -p foo/bar; ln -f -s foo/bar bar; cd bar; pwd; cd ..
>
> If I type the line in a shell then I get what I expected -- /tmp/bar
>
> I am using cygwin-1.3.20-1 but do not I think it is a new feature.
>
> Is my logic correct?

IIRC, Linux does this too - but I'm not easily able to test that at the
moment.


Max.

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/


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