我尝试从 Java 程序运行 shell 脚本,但整个脚本没有被执行。知道为什么我们会遇到这样的问题吗?
执行shell脚本的Java代码:
File file = new File("/path/to/script");
String COMMAND= "./run";
ProcessBuilder p = new ProcessBuilder(COMMAND);
p.directory(file);
try {
Process startProcess= p.start();
} catch (IOException e) {
e.printStackTrace();
}
脚本运行良好,但未执行整个脚本。似乎只执行了第一行。
最佳答案
如果您确定脚本开始运行,问题不在于java,而在于脚本本身。
差异的原因可能是路径错误或者环境错误。当您从控制台运行脚本时,您处于用户环境中,因此脚本可以使用所有环境变量。
尝试添加一些调试输出来解决问题。
关于java - 仅部分脚本由 Java 程序执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7945284/