in reply to RE: RE: Normalized directory paths
in thread Normalized directory paths

But you *can't* do the textual transformation WITHOUT doing the filesystem walk!

That is, if your string is

/a/b/c/../d/e/f
and c is a symlink, YOU CANNOT reduce that string unless you do a readlink on c. I wrote some code to do it once. One of my UnixReview columns I think.

Replies are listed 'Best First'.
RE: RE: RE: RE: Normalized directory paths
by mikfire (Deacon) on May 17, 2000 at 22:11 UTC
    I realize I have been bitten by zsh-centric behaviour.

    Given the path /a/b/c/.. and given that c is a symlink to /x/y/z I got different results depending on which shell I used when I said. sh, csh and tcsh all said the correct answer was /x/y. ksh, bash and zsh said /a/b was the correct answer.
    Therefore, some shells are broken and some are not.

    According to the FreeBSD manpage, there is a POSIX.2 specified behaviour for cd. I am not aware that I have access to the POSIX.2 standards. Can somebody who does have access tell me if POSIX.2 defines the behaviour of cd in this case?

    Thanks,
    Mik