我有一个bash脚本,在某些时候会启动一个java程序。在java程序中(由于几个原因)我需要设置一个环境变量,该变量也应该在父bash过程中设置。 我怎么能这样做?
我已尝试过以下操作,但它无效:
String[] commands = new String[]{"command", "arg1", "arg2"};
ProcessBuilder processBuilder = new ProcessBuilder(commands);
processBuilder.environment().put("my_var", "my_value");
Process proc = processBuilder.start();
BufferedReader stdInput = new BufferedReader(new InputStreamReader(proc.getInputStream()));
BufferedReader stdError = new BufferedReader(new InputStreamReader(proc.getErrorStream()));
proc.waitFor();
答案 0 :(得分:0)
子进程无法从其子进程的父进程中创建新的环境变量。环境的流动是向下的:父环境->子环境->子子环境等...