我正在从make环境运行shell脚本
我使用输入参数作为make变量执行脚本:
/shell_script.sh $(make_var1) $(make_var2)
我在shell中处理这些变量。我想将shell命令的结果分配给make变量并导出回shell。
make_var=shell_command
我该怎么做?
答案 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中运行。