我有一个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 variables 可以使用。但他的解决方案对我不起作用。因此,您还可以将它们导出到 makefile 中:
export UNEXPORTED_VAR