防止GNU make在环境变量中扩展美元符号 [英] Prevent GNU make from expanding dollar signs in environment variables

查看:119
本文介绍了防止GNU make在环境变量中扩展美元符号的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有什么方法可以使GNU Make在环境变量中按字面意义解释美元符号吗?

Is there any way to make GNU Make interpret dollar signs literally in environment variables?

获取此makefile:

Take this makefile:

echoFOO:
        echo '$(FOO)'

像这样运行它:

$ FOO='a$bc' make
echo 'ac'
ac

我希望这能从字面上回显a $ bc,但是我找不到找到让GNU Make摆脱我的环境变量困扰的方法.

I'd like this to echo a$bc literally, but I can't find a way to get GNU Make to keep its damn hands off my environment variables.

推荐答案

两种获得所需结果的方法,我可以看到.两者都需要权衡.

Two ways to get the result you want that I can see. Trade-offs with both.

$ cat Makefile
all: echoFOO echovFOO

echoFOO:
        echo '$(FOO)'

echovFOO:
        echo '$(value vFOO)'
$ FOO='a$$bc' vFOO='a$bc' make
echo 'a$bc'
a$bc
echo 'a$bc'
a$bc

这篇关于防止GNU make在环境变量中扩展美元符号的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆