【发布时间】:2012-08-13 11:30:46
【问题描述】:
我有一个 shell 脚本 test.sh:
cat /home/tomcat/temp/tempLogFile.log > /home/tomcat/temp/logFile_test.log
我通过 Runtime.getRuntime().exec("test.sh") 从 java 调用 test.sh
它创建 logFile_test.log 但没有写入任何内容。
如果我直接从 shell 运行脚本,它可以正常工作。 可能出了什么问题?
谢谢,
更新:有趣的是,如果我这样做,效果很好
echo 'cat /home/tomcat/temp/tempLogFile.log > /home/tomcat/temp/logFile_test.log' | at now
但我不能使用at now,因为我需要等待 cat 完成
【问题讨论】:
-
可能加 2>&1 并在文件中查看 cat 是否打印错误信息
-
我尝试了 2>&1 但仍然没有。没有错误。甚至 Runtime.getRuntime().exec("test.sh") 的进程退出状态也是 0