我正在编写一个应该执行以下操作的shell脚本
- 运行生成输出的Java应用程序
- 运行产生输出的shell命令
- 收集两个输出并通过电子邮件发送出去
我控制了上述所有步骤的源代码。
是否有从不同来源收集输出的最佳做法?我应该将所有内容重定向到单个临时文件吗?我应该将不同的输出写入不同的文件然后连接它们吗?每种方法的优缺点是什么?
答案 0 :(得分:0)
如果您不担心只使用Java,可以使用Runtime
类使用java(通过exec
)命令执行shell命令,这将返回Process
您拥有getInputStream
和getOutputStream
的对象,这样您就可以在一个地方处理Java程序和shell命令的输出并执行您想要的任何操作(将其保留在内存中)并通过将输出流重定向到用于发送邮件的输入流,使用另一个exec
)或保存它或其他任何内容来直接发送它。
答案 1 :(得分:0)
我赞成使用第二个包装脚本
假设您使用的是unix shell,则命令行中的邮件/格式化和shell脚本调用要简单得多。