Bash

這個“-cp”命令中的“-”是什麼意思?

  • February 14, 2017

我在一個 Android makefile ( build/core/Makefile ) 中遇到了這個問題:

$(hide) -cp $(TARGET_ROOT_OUT)/init.recovery.*.rc $(TARGET_RECOVERY_ROOT_OUT)/

-前面是什麼意思cp?它可能與抑制錯誤有關,但我無法為此搜尋 Google 文件。

-in a recipe 告訴 Make 忽略任何錯誤(請參閱食譜中的錯誤)。

在這種特定情況下,cp將忽略 報告的任何錯誤(輸出將包含任何消息,但建構將繼續)。

這僅在-由 Make 解釋時才有效,它是該行中的第一個非空白字元(或它前面的字元也由 Make 解釋)。在這種情況下,$(hide)需要考慮:如果hide為空或@-cp會有預期的效果;但是如果hide是例如@>/dev/null(因此命令不回顯並且其標準輸出被丟棄),-cp將按原樣傳遞給shell並且命令將失敗。

引用自:https://unix.stackexchange.com/questions/344657