gpt4 book ai didi

linux - 如何使用多行变量

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:59:41 24 4
gpt4 key购买 nike

如何在配方中使用多行变量?

文件名:多行变量

define foo =
echo welcome
endef

export foo

all:
echo $(foo)

我得到以下输出。但我希望打印出“欢迎”字样。

$ make -f multiple-line-variable
echo

最佳答案

SunEric 的回答没有正确解释发生了什么。添加与否,@ 与您没有看到“欢迎”字样的原因完全没有关系。

您的原始示例未按预期工作的原因是因为您正在阅读最新版本的 GNU make(当前为 GNU make 4.0)的 GNU make 手册,可能使用在线手册,但您正在使用一个更旧的 GNU make 版本。这不是一个好主意,因为手册中讨论的功能在您使用的 GNU make 版本中不存在。

在本例中,在名称后添加赋值运算符的变量定义样式:

define foo =
...

在 GNU make 3.82 之前不可用。在此之前的 make 版本中,此语法定义了一个名为 foo = 的变量。所以打印 $(foo) 不会显示任何内容,因为变量 foo 没有定义。

GNU make 提供其用户手册作为分发的一部分:您应该始终阅读您正在使用的 GNU make 版本附带的手册版本,而不是其他版本。

此外,您不需要在这两种方法中export foo 变量,因为您在配方中使用了 make 语法,因此 shell 永远看不到任何引用到 foo 变量。

关于linux - 如何使用多行变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21597496/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com