Follow-up Comment #2, bug #56410 (project findutils): The -L option affects the way that "find" treats symbolic links. But it has no effect on the "file" program run by -exec. {} expands to the file that "find" is currently considering, which is in this case is a symbolic link. Tests made by find on properties will reflect the properties of the file pointed to by find, but {} will expand to the name of the symbolic link (and not its target).
Here is a shell script which I think demonstrates the point you were trying to make, but without requiring root privileges. #!/bin/bash set -u if ! top="$(mktemp -d)"; then echo "Failed to create a temporary directory" >&2 exit 1 fi ( set -eCux cd "${top}" mkdir temp temp2 echo "test" >| temp/file0.txt ( cd temp2 && ln -s ../temp/file0.txt file ) if wc -c < temp2/file >/dev/null ; then exit 1 fi find -L temp2/ -type f -exec file '{}' \; ) rv=$? ls -ltR "${top}" rm -rf "${top}" exit $rv _______________________________________________________ Reply to this item at: <https://savannah.gnu.org/bugs/?56410> _______________________________________________ Message sent via Savannah https://savannah.gnu.org/