In most shells including bash,
pwd is a shell builtin:
$ type -a pwd
pwd is a shell builtin
pwd is /bin/pwd
If you use
/bin/pwd, you must use the
-L option to get the same result as builtin
$ ln -s . test
$ cd test && pwd
$ /bin/pwd -L
/bin/pwd ignores symlinks and prints the actual directory.
If the contents of the environment variable `PWD' provide an
absolute name of the current directory with no `.' or `..'
components, but possibly with symbolic links, then output those
contents. Otherwise, fall back to default `-P' handling.
Print a fully resolved name for the current directory. That is,
all components of the printed name will be actual directory
names--none will be symbolic links.
pwd includes symlink by default, except that
-P option is used, or
-o physical set builtin is enabled.
Print the absolute pathname of the current working directory.
The pathname printed contains no symbolic links if the -P option
is supplied or the -o physical option to the set builtin command
is enabled. If the -L option is used, the pathname printed may
contain symbolic links. The return status is 0 unless an error
occurs while reading the name of the current directory or an
invalid option is supplied.