防止 GNU make 在环境变量中扩展美元符号
Prevent GNU make from expanding dollar signs in environment variables
有没有办法让 GNU Make 在环境变量中按字面解释美元符号?
使用这个 makefile:
echoFOO:
echo '$(FOO)'
像这样运行它:
$ FOO='a$bc' make
echo 'ac'
ac
我希望它按字面意思回显 a$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
有没有办法让 GNU Make 在环境变量中按字面解释美元符号?
使用这个 makefile:
echoFOO:
echo '$(FOO)'
像这样运行它:
$ FOO='a$bc' make
echo 'ac'
ac
我希望它按字面意思回显 a$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