【发布时间】:2020-01-02 09:27:09
【问题描述】:
我目前有一个看起来像这样的 Makefile:
some_process:
VAR1=1
VAR2=2
python3 ./main.py --arg1 /home/user1/something/ \
--arg2 $VAR1 \
--arg3 $VAR2
当我运行这段代码时,我得到了错误:
main.py: error: argument --arg2: expected one argument
我尝试在 VAR1 和 VAR2 周围使用括号,但我注意到如果我这样做,那么 Makefile 将无法识别(?)参数。我也尝试转义 $ 符号(即$$VAR1),但这也不起作用。
将 Makefile 用于环境变量的正确方法是什么?谢谢。
编辑
以防万一原始问题不清楚,我正在使用 Makefile 来复制我通常在命令行中执行的操作:
user@thing:$ export VAR1=1
user@thing:$ export VAR2=2
user@thing:$ python3 ./main.py --arg1 /home/user1/something --arg2 $VAR1 --arg3 $VAR2
【问题讨论】:
-
你试过这样吗:
$(VAR1)? -
是的,我有。这实际上就是我所说的“括号”。我试过括号和大括号,但都不起作用。 :(
-
您是否尝试将变量导出到 makefile 中?
-
@Phantom 我实际上没有尝试过,我不知道这是可能的。我会研究一下。
标签: makefile