I was surprised to find this today. The following fails:
echo /some/place/foo.txt | basename
This also fails:
find /somewhere -print | xargs basename
This *does* work though, somehow, when the above does not:
echo /some/place/foo.txt | xargs basename
What is going on here? dirname is the same way.
