Warum wird der folgende Code falsch gedruckt? Ich versuche eine Umgebungsvariable im Skript test.sh und sammle sie in Java. Bitte schlagen Sie einen alternativen Ansatz vor, wenn möglich.Sammeln Umgebungsvariable in Java nach dem Ausführen von Skript über ProcessBuilder
public static void main(String[] args){
ProcessBuilder processBuilder = new ProcessBuilder("test.sh");
Process process;
int exitCode;
try {
process = processBuilder.start();
exitCode = process.waitFor();
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Map<String, String>envVars = processBuilder.environment();
System.out.println(envVars.keySet().contains("SOURCE"));
}
Und der Code für test.sh Skript ist einfach
set SOURCE=source
Ich denke, es sollte 'EXPORT SOURCE = source' sein, wenn Sie in * nix Umgebung –
Export versucht haben, hat nicht funktioniert –