当前,我需要一种方法来输出使用Java执行shell .sh脚本的结果,到目前为止,我已经实现了以下似乎输出了不正确结果的结果:
public class TestScript {
public static void main(String args[]) throws IOException {
String[] cmd = { "bash", "-c", "runners/setupTest.sh foo bar" };
Process p = Runtime.getRuntime().exec(cmd);
System.out.println(p.getOutputStream());
System.out.println(p.getOutputStream().toString());
System.out.println(p.toString());
}
}
输出结果:
java.io.BufferedOutputStream@46267ae526
java.io.BufferedOutputStream@46267ae526
Process[pid=15330, exitValue="not exited"]
关于如何通过Java输出执行.sh脚本的实际结果而不是接收上述输出的任何想法?