我有一个Makefile文件,其中定义了所有的环境变量(在顶级目录),我想在最内层的shell脚本中使用其中一些变量。
我应该如何在脚本中访问这些变量?我需要使用IPC来传递变量,还是有其他方法可以做到相同的效果?
make
导出变量,您可以立即使用它们(但请注意,对shell变量的更改不会更改make
变量)。如果您使用GNU make,则可以使用export
指令。make
未导出变量,则可以使用shell的一次性赋值,例如:UNEXPORTED_VAR = foo
all:
UNEXPORTED_VAR='$(UNEXPORTED_VAR)' OTHERVAR='$(OTHERVAR)' script.sh
像Jens所说的一样是正确的,可以使用export make变量。但他的解决方案对我不起作用。 所以你也可以在makefile中直接导出它们:
export UNEXPORTED_VAR