如何从shell文件导出或设置make变量

时间:2015-08-07 06:21:55

标签: shell makefile

我正在从make环境运行shell脚本

我使用输入参数作为make变量执行脚本:

/shell_script.sh  $(make_var1) $(make_var2)

我在shell中处理这些变量。我想将shell命令的结果分配给make变量并导出回shell。

make_var=shell_command

我该怎么做?

1 个答案:

答案 0 :(得分:1)

更改shell脚本的父环境并非易事,一种方法是回显导出语句并在父环境中获取脚本的输出:

...
echo "export make_var1=${make_var1}"
...

当您启动脚本时,请使用eval:

eval $(./shell_script.sh $make_var1 $make_var2)

这是例如ssh-agent采取的方法。

第二个选项是source脚本,在这种情况下,脚本将在当前shell中逐行运行:

 . shell-script.sh

脚本中的任何export语句都将在当前shell中运行。