我需要从外壳脚本执行java类第三方。当异常发生时,他们会根据要求使用System. err编写错误消息。现在,当我在shell中执行类时,我想得到该错误消息。我无法在标准输出中获得完整的消息并搜索此消息,因为它是一个大脚本,并且有很多消息。当我在shell中执行它时,有没有办法捕获java中打印的特定System.err。?如果问题不够清楚,请告诉我。
要选择变量中的java应用程序(或任何与此相关的程序)标准错误,同时丢弃其标准输出,您可以使用以下shell结构:
var=$(java MyApplication 2>&1 1>/dev/null)
如果不想丢弃标准输出,可以将其重定向到文件而不是/dev/null
,或者使用/dev/tty
将其重定向到终端模拟器。
请参考这个-
如何将错误消息打印为标准错误?
我认为这个问题的最佳答案也回答了你的问题。