【发布时间】:2011-05-19 15:12:16
【问题描述】:
我有一个 bash shell 脚本,它执行一堆命令并使用 > 将命令输出重定向到日志文件。如果我使用Runtime.getRuntime().exec("sh shellscript.sh"); 从Java 调用shell 脚本,shell 脚本会被执行,但不会写入日志文件!为什么?我该如何让它发挥作用?
编辑: 好的,所以我想做的有点不同。您的代码工作正常。但是现在 Java 程序内部的重定向不起作用。在下面的示例程序中,没有写入日志文件!
$ cat script.sh
#!/bin/sh
echo "Hello there"
echo "Hello there 2"
$ cat RunScript.java
public class RunScript {
public static void main(String[] argv) throws Exception {
int i = Runtime.getRuntime().exec("sh /home/gpx/script.sh >> log").waitFor();
System.out.println("Exit code : " + i);
}
}
【问题讨论】:
标签: java bash shell logging redirect