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

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

我在 macOS 上构建的 Travis CI 中运行以下命令来删除所有非.git目录:

$ if [ "${TRAVIS_OS_NAME}" = "osx" ]; then find /usr/local/Homebrew \! -regex ".+\.git.+" -delete; fi

它给出的输出是:

find: -delete: /usr/local/Homebrew: relative path potentially not safe

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

答案1

这个答案在 Unix 和 Linux SE 上:

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

[…]

那是2013 年 FreeBSD 中发生了变化,但这一变化显然并未影响到 macOS。

具体来说,在您的例子中,/usr/local/Homebrew作为 的参数给出find;因此-delete无法删除此确切对象。relative path potentially not safe但该消息具有误导性。链接消息揭示了幕后发生的事情。它还指出:

-mindepth 1可以通过使用或更改目录并将其作为参数传递给来防止删除作为参数给出的路径名,而不会出现错误.消息find

相关内容