【发布时间】:2015-08-09 11:01:14
【问题描述】:
我想在这样的 makefile 中运行一个脚本
all: a b
a:
cd ~/trials; \
. ./sx.sh
b:
echo $(bn)
sx.sh 这样做
export bn=1
发出 make 命令时,我在终端中看不到变量。我的目标是在为这些脚本特定设置编译我的项目之前运行一个脚本。
【问题讨论】:
-
这里没有回答你的问题,但是相关信息在这里:stackoverflow.com/questions/23843106/…
-
所以基本上我们不能在makefile中运行脚本来做同样的事情。
-
明确一点:这与 make 完全无关。在任何(UNIX/POSIX)程序中,子进程都不可能修改其父进程的环境。子 shell 永远不会改变其父 shell 的环境,例如,甚至将 make 排除在等式之外。