macOS 发现:“相对路径不安全”,为什么?

Vad*_*kin 2 security path command-line find macos

我在 macOS 上运行以下作为我的 Travis CI 构建的一部分来删除所有非.git目录:

$ if [ "${TRAVIS_OS_NAME}" = "osx" ]; then find /usr/local/Homebrew \! -regex ".+\.git.+" -delete; fi
Run Code Online (Sandbox Code Playgroud)

它给出的输出是:

find: -delete: /usr/local/Homebrew: relative path potentially not safe
Run Code Online (Sandbox Code Playgroud)

为什么我的/usr/local/Homebrew路径被认为是相对路径?

Kam*_*ski 5

从Unix 和 Linux SE 上的这个答案

macOSfind基于旧版本的 FreeBSD,find-delete不会删除作为参数给出的文件。

[…]

在 2013 年的 FreeBSD 中发生了变化,但这种变化显然没有适用于 macOS。

特别是在你的情况下/usr/local/Homebrew作为参数给出find; 因此-delete不能删除这个确切的对象。但是,该消息relative path potentially not safe具有误导性。该链接的消息揭示了引擎盖下会发生什么的一些情况。它还指出:

使用-mindepth 1或 通过更改目录并将.作为参数传递给find.