跑步:
$find . -name *.exe
Run Code Online (Sandbox Code Playgroud)
给出:
./MakeItSo_1.2.2/MakeItSo_1.2.2/MakeItSo.exe
./MakeItSo.exe
Run Code Online (Sandbox Code Playgroud)
但这些并不是目录中唯一的 exe 文件。例如,运行
$find . -name ATLTester.exe
Run Code Online (Sandbox Code Playgroud)
给出:
./Debug/ATLDmoVexaTester.exe
Run Code Online (Sandbox Code Playgroud)
这是因为 shell globbing。尝试:
find . -name "*.exe"
Run Code Online (Sandbox Code Playgroud)
不引用时,*.exe
扩展到*.exe
当前目录中的所有文件,除非没有。碰巧你那里只有一个这样的文件,所以你的原始命令实际上是:
find . -name MakeItSo.exe
Run Code Online (Sandbox Code Playgroud)
如果*.exe
当前目录中没有文件,则不会发生 shell globbing,find
会从*.exe
字面上获取参数,并且您的命令将按预期工作。另一方面,如果您有多个具有此扩展名的文件,它们都将作为参数提供给find
,这将导致语法错误。
归档时间: |
|
查看次数: |
276 次 |
最近记录: |