我能够通过RunTime
类运行Linux命令。 有没有一种从编程的方式从Java设置Linux全局环境的方法?用Java以编程方式设置Linux环境变量
我想对Java
[email protected]:/tmp# export TEST=v2
我已经使用的ProcessBuilder如下效仿以下Linux命令语句,但测试变量不发生变化。
ProcessBuilder pb = new ProcessBuilder("/bin/bash","-c","export TEST=v3" + "&& exec");
UPDATE: 其实我的最终目标是使用EMAIL_NAME环境作为一个电子邮件地址,当我的两个应用程序和机器被启动,stopeed这些行为将被发送到EMAIL_NAME。 在这种情况下,我明白,不可能通过纯Java代码设置linux全局环境。所以我有一个解决方法是EMAIL_NAME将被保存在一个文件中,并且它将被更新或通过linux脚本或java代码读取。
这里用'Linux'命令表示什么意思? –
如果您使用'ProcessBuilder',当然可以在执行命令之前使用'.environment()'修改该映射的环境变量映射。 – fge
相似的答案:http://stackoverflow.com/questions/580085/is-it-possible-to-set-an-environment-variable-at-runtime-from-java - 虽然使用“ProcessBuilder”只会设置环境对于所有分叉的进程(进程由于从Java进程中调用而运行)。 – birryree