首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mac `find`与Linux `find`的区别

Mac `find`与Linux `find`的区别
EN

Stack Overflow用户
提问于 2013-07-09 21:01:56
回答 1查看 6.3K关注 0票数 12

我继承了一个脚本作为应用程序构建过程的一部分,当我在构建服务器(Ubuntu精确地说)上运行它时,它运行得很好,但当我在我的mac上运行它时,我得到了“非法选项-- t”。有问题的命令很简单,它只需调用find

代码语言:javascript
复制
find -type f -not -path [...]

在测试中,我发现是-type选项在我的Mac上有问题。如果我改为运行:

代码语言:javascript
复制
find ./ -type f -not -path [...]

它可以工作,但两者在Linux机器上的工作(看似等同)。因此,我的问题是,在操作系统的find二进制文件和Linux的find之间是否有显著的差异?我对脚本的修改(在开头添加./路径)会破坏我还没有发现的任何东西吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-09 21:08:02

standard要求路径(在您的示例中为./)是强制的。MacOS上的find遵循该标准。

GNU find (Linux上可用的)允许路径是可选的。如果未指定,则假定当前目录为路径。在Linux上,man find说

代码语言:javascript
复制
find [-H] [-L] [-P] [-D debugopts] [-Olevel] [path...] [expression]

(请注意,path是在[...]中指定的,表示它是可选的。

指定路径是一个很好的做法。

票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17548854

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档