在运行 find 命令以查找当前目录中的所有 jpg 文件时
find . -maxdepth 1 -type f -name *.jpg
我收到错误消息:
find: paths must precede expression: pic1 (1).jpg
Usage: find [-H] [-L] [-P] [-Olevel] [-Dhelp|tree|search|stat|rates|opt|exec] [path...] [expression]
我无法弄清楚那有什么问题。
tl;dr总是在 find: 中引用 glob
find . -maxdepth 1 -type f -name "*.jpg"
(注意"
周围的字符*
)。在您的情况下,shell 正在解释
*.jpg
(注意*
字符)并尝试匹配当前目录中以.jpg
. 有一个文件名为pic1 (1).jpg
,因此文件名替换*.jpg
. shell给系统的命令变成要深入了解,请尝试使用
strace
. 实际执行的是: