find -iname '*.xml'
Caso contrário, seu shell expande *.xml
para XYZ.xml
e o comando que realmente é executado é
find -iname XYZ.xml
O motivo pelo qual funciona se não houver arquivos XML no diretório atual é que os shells geralmente deixam os curingas não expandidos se não corresponderem a nada. Em geral, sempre que quiser que curingas sejam expandidos por um programa diferente do shell (por exemplo, find
, tar
, scp
, etc.), é necessário citá-los para que o shell não tente expandir eles mesmos.