这个问题是Setenvironmentvariablesinshellscript/accessinJavaprogram的后续问题。我试图在运行 shell 脚本后获取 Java 中的环境变量,但无法执行此操作
Shell 脚本:getDetails.sh:
#!/bin/bash
# File: getDetails.sh
export userDetails="USER123"
# echo "User Details for App :$userDetails"
Run Code Online (Sandbox Code Playgroud)
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"));
Run Code Online (Sandbox Code Playgroud)
java 方法为环境变量 userDetails 返回/打印 null。
PS - 请注意,此处不可能使用 InputStream/BufferedReader 读取用户详细信息,因为程序/组织不允许回显详细信息。