在 Makefile 中导出,在 Shell 中访问

Export in Makefile, access in Shell

这是makefile的内容:

all:
     export name="foo"
    ./s.sh

这是s.sh的内容:

echo "Name is:"
echo $name

运行 make all 会有这样的输出:

export name="foo"
./s.sh
Name is:

如何在我的 shell 脚本中访问导出的变量?

每个食谱的每一行 运行 都有自己的 shell。因此,当每一行完成时,该行的 shell 终止,并且在开始执行下一个配方行之前它会忘记其中设置的所有变量。您可以将这些行连接起来,使它们 运行 合而为一 shell,如下所示:

all:
     export name="foo"; \
    ./s.sh