shell - 如何在makefile函数中传递逗号字符
问题描述
在 Makefile 中定义了一个print
函数,它将打印文本作为参数然后打印它。我的问题是如何将逗号字符作为文本部分传递来打印它?例如,下面是相关的 makefile 部分,其中逗号不可打印。
print = echo '$(1)'
help:
@$(call print, He lives in Paris, does not he?)
现在,如果像运行 makefile 一样:
$ make help
它打印
$ He lives in Paris
代替
$ He lives in Paris, does not he?
我知道在makefile中逗号用作单独的参数,但是我如何使它成为可打印的。我使用不同的转义字符组合将逗号作为短信传递,\,
/,
$$,
','
","
但没有任何效果
解决方案
手册说:
逗号和不匹配的括号或大括号不能按书面形式出现在参数的文本中;前导空格不能出现在第一个参数的文本中。这些字符可以通过变量替换放入参数值中。
因此,您需要将逗号放入变量中,并在参数中使用它。例如:
print = echo '$(1)'
comma:= ,
help:
@$(call print,He lives in Paris$(comma) does not he?)
推荐阅读
- azure-data-factory - Azure 数据工厂:使用复制活动设置复制文件数量的限制
- javascript - 将标记添加到传单中的用户位置
- ckeditor - Typo3 关闭并开始一个新段落
在每个
新闻扩展的正文中 - openmdao - 什么时候适合使用元模型而不是昂贵的分析?
- c - 在 Linux(RedHat) 中,C 函数 malloc_stats() 显示与 /proc/ 不同的值
/stat 常驻内存大小 - javascript - 一起使用 scroll-ID DOM-event
- python - Pandas:将年度数据转换为十年数据
- flutter - 在 null 上调用了方法“_mulFromInteger”
- javascript - 是否有 document.execCommand 的替代品?(或者使用 document.execCommand 是否安全?)
- android - Google Purchases.subscriptions api:paymentState null 是什么意思?