我在Makefile中有一条规则,该规则试图使用env变量呈现某些文本,每当将其传递给$(shell)命令时,我总是将其清空为空
以下是我正在尝试传递的env变量的Makefile
SHELL := /bin/bash
test:
$(MAKE) do_test VAR=test
do_test:
echo $(shell cat file.txt | env VAR=$(VAR) python -m mypackage.render)
当我像| env VAR=test python -m mypackage.render
这样传递env参数时,我可以看到结果,但是我总是得到带有env变量的空字符串
答案 0 :(得分:0)
问题是make
$(shell ...)调用。您可能需要命令替换(shell功能)。并杀死一只无用的猫。
test:
$(MAKE) do_test VAR=test
do_test:
VAR=$(VAR) python -m mypackage.render < file.txt
请注意,不建议在Makefile中设置SHELL
。