【问题标题】:Meaning of '@' in "@set -e" command in Makefiles [duplicate]Makefiles中“@set -e”命令中“@”的含义[重复]
【发布时间】:2015-02-08 15:17:21
【问题描述】:

在 Makefile 中,以

形式的命令

all: @set -e; \ do more stuff

我知道 set -e 命令 shell 在失败时退出。 set附加的@有什么意义?

【问题讨论】:

    标签: bash shell makefile gnu


    【解决方案1】:

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

    【讨论】:

    • 谢谢。只有它被粘贴的命令还是它后面的命令?
    • 只有@之后的命令。
    • 它适用于配方中的整个逻辑行。在您的示例中,您使用了反斜杠将两个物理行组合成一个逻辑行,因此这两个命令(set -edo more stuff)都不会被回显。如果您添加另一个未使用反斜杠/换行符连接到这些的配方行,则该命令回显。只需尝试添加和删除 @ 看看会发生什么。
    猜你喜欢
    • 1970-01-01
    • 2018-06-13
    • 2016-12-28
    • 2023-03-22
    • 1970-01-01
    • 2021-10-28
    • 1970-01-01
    • 2016-08-21
    • 1970-01-01
    相关资源
    最近更新 更多