首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Make:变量无法从shell调用赋值

Make:变量无法从shell调用赋值
EN

Stack Overflow用户
提问于 2018-06-07 02:57:15
回答 1查看 45关注 0票数 0
# makefile

SHELL:=/bin/bash
PATH:=/path/to/new/programs:$(PATH)


my_var:=$(shell which program)

rule:
    echo $(my_var)
    which program

#output
$: make rule

echo 

which program
/path/to/program

# prints nothing

我已经尝试了所有的方法,实际上回想起我之前创建makefile时让它起作用的过程。它正在变成一个泥潭--我所需要做的就是在安装之前检查一个exe文件是否存在。

EN

回答 1

Stack Overflow用户

发布于 2018-06-07 03:23:23

如果不在makefile中设置SHELL变量,显式which会起作用吗?

设置SHELL变量只会影响配方。它不用于$(shell ...)函数。您可以使用:

my_var := $(shell /bin/bash -c 'which function')

然而,在我的系统上,即使使用默认的外壳也可以与which一起工作。也许你的系统不知何故变了。

请注意,当然,which查找的是程序,而不是函数...

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50727687

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档