É por causa do shell globbing . Experimente:
find . -name "*.exe"
Quando não é cotado, *.exe
se expande para todos os arquivos *.exe
no diretório atual, a menos que não haja nenhum. Acontece que você tem apenas um desses arquivos, então seu comando original era de fato:
find . -name MakeItSo.exe
Se você não tivesse arquivos *.exe
no diretório atual, a globalização do shell não ocorreria, find
obteria o argumento *.exe
literalmente e seu comando funcionaria conforme o esperado. Por outro lado, se você tivesse mais de um arquivo com essa extensão, todos eles seriam fornecidos como argumentos para find
e isso levaria a um erro de sintaxe.