Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Makefile 防止GNU make在环境变量中扩展美元符号_Makefile_Environment Variables - Fatal编程技术网

Makefile 防止GNU make在环境变量中扩展美元符号

Makefile 防止GNU make在环境变量中扩展美元符号,makefile,environment-variables,Makefile,Environment Variables,有没有办法让GNU make在环境变量中逐字解释美元符号 以这个makefile为例: echoFOO: echo '$(FOO)' 按如下方式运行: $ FOO='a$bc' make echo 'ac' ac 我希望这能从字面上反映$bc,但我找不到一种方法让GNU Make将它该死的手从我的环境变量上移开。有两种方法可以得到我可以看到的你想要的结果。两者都要权衡 $ cat Makefile all: echoFOO echovFOO echoFOO:

有没有办法让GNU make在环境变量中逐字解释美元符号

以这个makefile为例:

echoFOO:
        echo '$(FOO)'
按如下方式运行:

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

我希望这能从字面上反映$bc,但我找不到一种方法让GNU Make将它该死的手从我的环境变量上移开。

有两种方法可以得到我可以看到的你想要的结果。两者都要权衡

$ 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