这个“-cp”命令中的“-”是什么意思?

szx*_*szx 6 command-line shell bash make

我在其中一个 Android 生成文件(build/core/Makefile)中遇到了这个问题:

$(hide) -cp $(TARGET_ROOT_OUT)/init.recovery.*.rc $(TARGET_RECOVERY_ROOT_OUT)/
Run Code Online (Sandbox Code Playgroud)

这里-前面是什么意思cp?它可能与抑制错误有关,但我无法为此搜索 google 文档。

Ste*_*itt 13

-在配方中告诉 Make 忽略任何错误(参见配方中的错误)。

在这种特定情况下,cp将忽略由 报告的任何错误(输出将包含任何消息,但构建将继续)。

这仅在-由 Make 解释时才有效,它是该行中的第一个非空白字符(或者它前面的字符也由 Make 解释)。在这种情况下,$(hide)需要考虑:如果hide为空或@-cp将达到预期的效果;但是如果hide是例如@>/dev/null(因此命令不会被回显并且其标准输出被丢弃),-cp将按原样传递给外壳并且命令将失败。

  • 是的,`$(hide)` 可能把事情搞砸了,`-` 应该是制表符后面的第一个字符。 (3认同)