On my OS X 10.5.8 system, the man page for 'file' says:
-h, --no-dereference
option causes symlinks not to be followed (on systems that support symbolic links). This is the default if the environment variable POSIXLY_CORRECT is not defined.
and also:
-L, --dereference
option causes symlinks to be followed, as the like-named option in ls(1) (on systems that support symbolic links). This is the default if the environment variable POSIXLY_CORRECT is defined.
For me, the default seems to be the "-L" behavior (i.e., always traversing symlinks and reporting the type of the target file), regardless of whether I have POSIXLY_CORRECT set or not.
The "-h" option does the right thing if I explicitly specify it, fortunately.
Can anyone still running 10.5.8 (yeah, I know...) verify whether this is the behavior for them as well? And if it does work for you as advertised by the man page, any theories on what I'm doing wrong? I've checked my spelling, just to get that out of the way...