gpt4 book ai didi

makefile:变量值中的尾随空格

转载 作者:行者123 更新时间:2023-12-01 02:30:24 27 4
gpt4 key购买 nike

我正在阅读 GNU make 手册中的以下内容:

if you do not want any whitespace characters at the end of your variable value, 
you must remember not to put a random comment on the end of the line after some whitespace, such as this:

dir := /foo/bar # directory to put the frobs in
Here the value of the variable dir is ‘/foo/bar ’ (with four trailing spaces),
which was probably not the intention. (Imagine something like ‘$(dir)/file’ with this definition!)

我尝试了一个简单的makefile,如下所示”
foo := hi    # four trailing spaces
all:
@echo $(foo)_

执行'make'时,输出只是'hi _','hi'和下划线之间只有一个空格。为什么没有四个空格?

谢谢,

最佳答案

make执行此脚本,它不会将变量传递给 echo,而是替换 $(foo)foo的值(value)。

所以实际执行的脚本是 echo hi...._ (点是为了澄清)。

在解析 echo 的参数时,空格会被忽略.

您可以使用双引号将其作为字符串输出。

echo "$(foo)_"

关于makefile:变量值中的尾随空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13342041/

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