相关疑难解决方法(0)

如何正确转义Makefile的数据?

我正在config.mk使用一个将由Makefile使用的bash脚本动态生成.该文件构造为:

cat > config.mk <<CFG
SOMEVAR := $value_from_bash1
ANOTHER := $value_from_bash2
CFG
Run Code Online (Sandbox Code Playgroud)

如何确保生成的文件确实包含内容$value_from_bash*,而不是扩展/解释的内容?我可能需要逃避$$$\\\,但是否有其他字符需要进行转义?也许有一个我没有听说过的特殊字面作业?

太空似乎也很麻烦:

$ ls -1
a b
a
$ cat Makefile
f := a b
default_target:
    echo "$(firstword $(wildcard ${f}))"
$ make
a
Run Code Online (Sandbox Code Playgroud)

如果我使用f := a\ b它的工作原理(使用引号f := 'a b'也不起作用,makefile只会将其视为常规字符)

bash makefile escaping

37
推荐指数
2
解决办法
4万
查看次数

标签 统计

bash ×1

escaping ×1

makefile ×1