Это из - за оболочки подстановки . Пытаться:
find . -name "*.exe"
Когда не заключено в кавычки, *.exe
распространяется на все *.exe
файлы в текущем каталоге, если нет ни одного. Так получилось, что у вас есть только один такой файл, поэтому ваша оригинальная команда была на самом деле:
find . -name MakeItSo.exe
Если у вас нет *.exe
файлов в текущем каталоге, глобализация оболочки не произойдет, find
вы получите *.exe
аргумент буквально, и ваша команда будет работать так, как вы ожидали. С другой стороны, если у вас есть более одного файла с этим расширением, все они будут приведены в качестве аргументов, find
и это приведет к синтаксической ошибке.