提问者:小点点

当使用外壳脚本执行程序时,是否有方法选择System. out或System.errjava消息


我需要从外壳脚本执行java类第三方。当异常发生时,他们会根据要求使用System. err编写错误消息。现在,当我在shell中执行类时,我想得到该错误消息。我无法在标准输出中获得完整的消息并搜索此消息,因为它是一个大脚本,并且有很多消息。当我在shell中执行它时,有没有办法捕获java中打印的特定System.err。?如果问题不够清楚,请告诉我。


共2个答案

匿名用户

要选择变量中的java应用程序(或任何与此相关的程序)标准错误,同时丢弃其标准输出,您可以使用以下shell结构:

var=$(java MyApplication 2>&1 1>/dev/null)

如果不想丢弃标准输出,可以将其重定向到文件而不是/dev/null,或者使用/dev/tty将其重定向到终端模拟器。

匿名用户

请参考这个-

如何将错误消息打印为标准错误?

我认为这个问题的最佳答案也回答了你的问题。