在Mac OS X Lion中运行,我需要使用命令行中的脚本从远程服务器检索文件。我试图在代码中使用的命令是“bash / my / path / here / myscript”,我已经使用下面的代码从命令行(atos)运行另一个进程。
Process proc = Runtime.getRuntime().exec(cmd);
但是在调试时,程序会继续运行而没有错误,但脚本似乎确实已经运行了。此外,当脚本检索文件时应该暂停几秒钟,但我的程序会立即继续执行。从终端运行时,脚本本身可以正常工作。我对如何使其工作有点困惑,所以任何帮助都将非常感激。
答案 0 :(得分:1)
使用以下代码 -
Process proc = Runtime.getRuntime().exec(cmd);
BufferedReader in = new BufferedReader(new InputStreamReader(proc.getInputStream()));
proc.waitFor();
while (in.ready()) {
System.out.println(in.readLine());
}
另一个问题是脚本会下载到当前工作目录而不是脚本本身的位置(按预期)。因此,当我的程序继续无法找到下载的文件时,脚本将正确运行。希望这会有所帮助。