使文件回显显示“$PATH”细绳
我试图强制 make 文件显示下一个字符串:
"Please execute next commands:
setenv PATH /usr/local/greenhills/mips5/linux86:$PATH"
问题出在 "$PATH"
上。命令
@echo "setenv PATH /usr/local/greenhills/mips5/linux86:$PATH"
导致结果
"setenv PATH /usr/local/greenhills/mips5/linux86:ATH"
转义字符、引号、"$(shell echo "
的任何组合都没有得到所需的结果...
有什么建议吗?
I am trying to force make file to display next string:
"Please execute next commands:
setenv PATH /usr/local/greenhills/mips5/linux86:$PATH"
The problem is with "$PATH"
. Command
@echo "setenv PATH /usr/local/greenhills/mips5/linux86:$PATH"
cause a result
"setenv PATH /usr/local/greenhills/mips5/linux86:ATH"
any combinations of escape characters, quotes, "$(shell echo "
didn't get required results...
Any suggestions?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
make
使用$
作为自己的 变量扩展。例如,单字符变量$A
或具有长名称的变量 -${VAR}
和$(VAR)
。要将
$
放入命令中,请使用$$
,例如:另请注意,要
make
"" 和
''
(双引号和单引号)不发挥任何作用,它们会逐字传递到 shell。 (删除@
符号以查看make
发送到 shell 的内容。)为了防止 shell 扩展$PATH
,第二行使用''
。The
make
uses the$
for its own variable expansions. E.g. single character variable$A
or variable with a long name -${VAR}
and$(VAR)
.To put the
$
into a command, use the$$
, for example:Also note that to
make
the""
and''
(double and single quoting) do not play any role and they are passed verbatim to the shell. (Remove the@
sign to see whatmake
sends to shell.) To prevent the shell from expanding$PATH
, second line uses the''
.棘手的
Makefile 片段 - 关于如何打印以及如何使用
输出
make test
Tricky
Makefile snippet - on how to print and how to use
Output
make test
在 GNU make 手册中,他们在描述
值
函数:In the manual for GNU make, they talk about this specific example when describing the
value
function: