为什么只在某些目录下用find命令有find: paths must precede expression:的错误

Colorful_lights 2018-03-28 10:59:05
用find命令查找文件,用的是find ./ -name *.so。我之前一直都是这么查找的,都没出现错误。但是今天用这个命令,出了问题:
find: paths must precede expression: libaudiotextdecoder.so
Usage: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...] [expression]
百度了一下,说加个单引号就可以了(贴个解决问题的链接https://blog.csdn.net/zhuying_linux/article/details/7610416)。按照上面的方法确实解决问题了。但是我有个疑问,我之前一直这么用find命令没报错啊?于是我在其他目录下试了这个命令,也没报错,为什么就这个目录下会出现这种情况呢?解决问题的帖子上说是“星号被展开为当前目录下所有的文件,这样的匹配当然会出错”。我比较了出错和不出错目录下的echo * 和echo '*'没发现什么区别,都会展开为当前目录的所有文件。求大神解答一下,是什么原因让相同的命令,在有些目录下出错,在有些目录下不出错。
...全文
424 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
LubinLew 2018-03-28
  • 打赏
  • 举报
回复
*.so 前后需要加单引号, 多文件的查找的时候需要增加单引号 原因见 https://blog.csdn.net/appleheshuang/article/details/7619586

23,110

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧