【发布时间】:2018-09-08 12:39:06
【问题描述】:
我有一个 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();
【问题讨论】:
-
你不能那样做。 究竟是什么原因呢?听起来像XY问题。您实际上想解决什么问题?
标签: java bash environment-variables