【发布时间】:2018-04-27 02:35:49
【问题描述】:
这个问题是Set environment variable in shell script/access in Java program 的后续问题。我试图在运行 shell 脚本后在 Java 中获取环境变量但无法这样做
Shell 脚本:getDetails.sh:
#!/bin/bash
# File: getDetails.sh
export userDetails="USER123"
# echo "User Details for App :$userDetails"
Java 方法:
String details = new String("source " + "getDetails.sh");
ProcessBuilder processBuilder = new ProcessBuilder("/bin/bash", "-c", details);
Process getPwdProc = processBuilder.start();
System.out.println("Details - " + processBuilder.environment().get("userDetails"));
java 方法返回/打印环境变量 - userDetails 的 null。
附: - 请注意,此处无法使用 InputStream/BufferedReader 读取用户详细信息,因为程序/组织不允许回显详细信息。
【问题讨论】:
标签: java bash shell unix processbuilder