1

我有一个 bash 脚本文件,我在 shell 中使用 source 命令调用它,并设置了许多环境变量。然后我可以使用环境变量设置的所有工具。

现在我想通过使用以下方法在 Java 中做同样的事情:

static Runtime run = Runtime.getRuntime();
Process pr = run.exec(command);
pr.waitFor();

我知道 source 是一个内部命令,我不能从 Java 调用它。

有没有其他方法可以从java中设置该文件中的环境变量,以便以后能够在我的代码中使用它们来调用其他命令?

先感谢您!

4

1 回答 1

3
Process pr = new ProcessBuilder("/bin/bash", "-c", ". env.sh; " + command).start();

尝试这样的事情,你既可以获取脚本,又可以在同一个 shell 进程中执行后续命令。每次您想要执行命令时,您都可以有效地获取脚本。

于 2013-08-22T14:52:53.350 回答