系统无关的查找以下符号链接?

系统无关的查找以下符号链接?

我想使用“find”命令并让它跟踪符号链接。但是,我需要在 RedHat 和 Mac OS X 系统上从其他代码(IDL,它没有很好的内置文件搜索功能)调用该命令。

问题是,RedHat 系统使用 GNU find 版本 4.1.20,而 mac find 是某个 BSD 版本。在 mac find 中,您使用 来find -L跟踪符号链接。在 GNU 版本中,您使用find -follow。两者之间似乎没有任何用于跟踪符号链接的通用选项。

针对我的机器,一种解决方法是将 更改find为我自己的私有版本,但这对于分发代码来说不是一个可接受的选择。有人可以推荐替代方案吗?手册中是否有find我遗漏的内容,其中说明了如何跟踪不依赖于版本的符号链接?

答案1

我只是错误地使用了 find 。

失败了:

$ find -follow . -name "t*"
find: ollow: No such file or directory

虽然这有效:

$ find . -name "t*" -follow

我认为这是因为 -f 是一个特殊的查找选项。

请注意,GNU 版本的 find 也不允许在路径前使用 -follow,但它至少会给出一个有用的错误:

find: paths must precede expression

相关内容