ランニング:
$find . -name *.exe
与える:
./MakeItSo_1.2.2/MakeItSo_1.2.2/MakeItSo.exe
./MakeItSo.exe
ただし、ディレクトリ内のexeファイルはこれらだけではありません。たとえば、実行中
$find . -name ATLTester.exe
与える:
./Debug/ATLDmoVexaTester.exe
シェルのせいです グロブ 。試してみてください:
find . -name "*.exe"
引用符で囲まれていない場合、*.exe
は、現在のディレクトリにあるすべての*.exe
ファイルに展開されます(ファイルがない場合を除く)。そのようなファイルが1つしかないので、元のコマンドは実際には次のようになっています。
find . -name MakeItSo.exe
現在のディレクトリに*.exe
ファイルがない場合、シェルグロブは発生せず、find
は文字通り*.exe
引数を取得し、コマンドは期待どおりに機能します。一方、この拡張子を持つファイルが複数ある場合は、それらすべてがfind
の引数として指定され、構文エラーが発生します。