Makefiles中“ @set -e”命令中“ @”的含义

Lav*_*vya 2 bash shell gnu makefile

在Makefile中,格式为

all: @set -e; \ do more stuff

我知道set -e命令外壳程序在失败时退出。@附件的意义是什么set

Tom*_*ech 5

在Makefile中,该@符号表示该命令在运行时不会回显到屏幕上。

  • 仅“@”后面的命令。 (2认同)
  • 它适用于配方中的整个 _logical line_。在您的示例中,您使用反斜杠将两条物理行组合成一个逻辑行,因此这两个命令(`set -e` 或 `do more stuff`)都不会被回显。如果您添加另一个未使用反斜杠/换行符连接到这些的配方行,则该命令 _will_ 将被回显。只需尝试添加和删除`@`,看看会发生什么。 (2认同)