![警告查找:警告:您在非选项参数后指定了 -maxdepth 选项](https://linux22.com/image/100469/%E8%AD%A6%E5%91%8A%E6%9F%A5%E6%89%BE%EF%BC%9A%E8%AD%A6%E5%91%8A%EF%BC%9A%E6%82%A8%E5%9C%A8%E9%9D%9E%E9%80%89%E9%A1%B9%E5%8F%82%E6%95%B0%E5%90%8E%E6%8C%87%E5%AE%9A%E4%BA%86%20-maxdepth%20%E9%80%89%E9%A1%B9.png)
我有这个 bash 命令:
FILES=$(find $(dirname "$DIR")/**/**/*.js -type f -maxdepth 8 -not -path "*/babel/*" -not -path "*/examples/*");
我收到这个警告:
find: 警告:您已在非选项参数 -type 之后指定了 -maxdepth 选项,但选项不是位置性的(-maxdepth 影响在其之前指定的测试以及在其之后指定的测试)。请在其他参数之前指定选项。
有人知道那是关于什么的吗?谷歌一无所获。如果我的命令还有任何疑问,请 lmk!
答案1
如果您阅读该消息,它会告诉您您已经使用过-maxdepth
after -type
。要点是它-maxdepth
是一个全局选项(其他选项包括-xdev
避免跨安装点的搜索以及-noleaf
假设目录具有标准 unix 链接计数而停止查找)并且-type
是表达式的一部分。
如果您交换顺序-type f
,-maxdepth 8
该消息就会消失。