Thanks. I suggest you add into $man pwd or $info pwd the remark that was on $ help pwd pwd: pwd [-LP] Print the current working directory. With the -P option, pwd prints the physical directory, without any symbolic links; the -L option makes pwd follow symbolic links. It would save other people bothering you on that subject :-) Thanks, Eran On Fri, May 14, 2010 at 22:57, Bob Proulx wrote: > retitle 6194 pwd tracks logical paths through symlinks > tags 6194 + wontfix > thanks > > eran shaham wrote: > > `pwd' prints the fully resolved name of the current directory. That > > is, all components of the printed name will be actual directory > > names--*none will be symbolic links*. > > Thank you for the report. But you are confusing the coreutils > standalone 'pwd' with your shell's internal builtin 'pwd'. The > coreutils pwd command does not behave as you describe. You are > invoking the shell's builtin pwd. > > $ type pwd > pwd is a shell builtin > > But regardless of that what you are seeing is the shell's logical path > record keeping in action. This is the behavior that most people > prefer and so it is the default. I can tell taht you however are like > me and do not prefer it. In which case if you are using the bash > shell you can change your shell behavior to use only physical paths. > > set -o physical > > And now the shell will not track logical paths. Putting that in your > $HOME/.bashrc file will give you the behavior you desire. > > > When you try the following: > > mkdir dirA dirB > > cd dirA > > ln -s ../dirB/ lnkB > > cd lnkB > > pwd > > The pwd above is the shell's builtin pwd. It is not the coreutils > pwd. The shell tracks the logical path in the PWD environment > variable and reports it as if it were a real path. See the bash pwd > documentation for details. > > help pwd > > Look at the -L and -P options. > > > where lnkB is obviously a symbolic link and not an actual directory name. > > That is intentional behavior. > > Bob >