在Java中以编程方式设置Linux环境变量

Ahmet Karakaya:

我可以通过RunTime运行Linux命令是否可以通过编程方式从Java设置Linux全局环境?

我想通过Java模拟以下Linux命令语句

root@machine:/tmp# export TEST=v2

我已按以下方式使用ProcessBuilder,但TEST变量未更改。

ProcessBuilder pb = new ProcessBuilder("/bin/bash","-c","export TEST=v3" + "&& exec");

更新:实际上,我的最终目标是使用EMAIL_NAME环境作为电子邮件地址,同时启动和停止我的应用程序和计算机时,这些操作将发送到EMAIL_NAME。在那种情况下,我知道不可能在纯Java代码上设置linux全局环境。因此,我有一个解决方法,即EMAIL_NAME将保存在一个文件中,并将通过linux脚本或Java代码对其进行更新或读取。

瑞安·斯图尔特(Ryan Stewart):

设置了环境变量后,环境变量仅可用于由设置了该变量的进程产生的进程,因此,如果您真的要设置一个会影响整个系统的变量,则不会。您根本无法在Linux中以交互方式真正做到这一点。最好的办法是更改系统启动文件之一,使其包含所述变量,以便将来您执行的任何操作都将包括该变量。

如果您只是想运行带有某些变量集的多个进程,则ProcessBuilder允许您为随其生成的进程设置环境将环境重用于几个进程非常简单。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章