gpt4 book ai didi

grep - GNU makefile 中的 $(shell) 函数导致 'unterminated call to function shell: missing )'

转载 作者:行者123 更新时间:2023-12-04 01:17:33 29 4
gpt4 key购买 nike

描述:

我的 GNU 生成文件中有以下代码段:

test:=$(shell grep '#pragma' test_types.h)
$(info test:$(test))

以上导致以下错误消息:

*** 对函数 'shell' 的未终止调用:缺少 ')'。停止

但是如果我 删除“#”从上面的片段:
test:=$(shell grep 'pragma' test_types.h)
$(info test:$(test))

输出是:

测试:#pragma pack(push, 1) #pragma pack(pop)

如果我直接从命令行运行以下命令: grep '#pragma' test_types.h .输出再次是:

#pragma pack(push, 1) #pragma pack(pop)

题:

将 grep 与搜索 # 结合使用时导致 shell 函数行为的原因是什么在 GNU 生成文件中?

最佳答案

它将# 解释为注释的开始,因此该行的其余部分不再可见。

将字符转义为#,它将起作用。

关于grep - GNU makefile 中的 $(shell) 函数导致 'unterminated call to function shell: missing )',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53836858/

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