如何让Gradle任务设置shell设置环境变量?
问题描述:
我有一个Gradle任务调用一个shell脚本来设置一些环境变量。这些变量由另一个shell脚本使用,该脚本也被Gradle作为另一个任务调用。但是,第二项任务不能查看这些变量。什么是错的,我如何才能真正实现我所需的行为?如何让Gradle任务设置shell设置环境变量?
我正在Unix/Linux中工作。 Gradle任务基本上都是Exec类型的任务。
假设我准备将第一个shell脚本(设置env变量)完成的工作外包给Gradle。我怎样才能让第二个shell脚本拿起这些变量?
答
你正在输出你想分享的环境变量吗?按照以下示例中的建议尝试使用导出关键字:
$ cat a.sh
#! /bin/sh
export VAR=val
/path/to/b.sh
$ cat b.sh
#! /bin/sh
echo $VAR
执行a.sh时,输出“val”会打印在屏幕上。
希望这会有所帮助! :)
正确。像'setenv VAR var'一样。我的'var's'实际上是目录路径。就像例如,'setenv ROOT_PATH。/ my_root_path' –
我不太明白你的答案。我有一个Gradle任务,它运行一个设置环境变量的shell脚本。我想在另一个由另一个Gradle任务运行的shell脚本中使用这些变量 –
在我的示例中,我定义并导出a.sh shell脚本中的environ变量VAR,并在b.sh shell脚本中使用该变量。如果您在我的示例中未使用export关键字,则不起作用。核实。 – aicastell