如何在bash中的错误重定向后获取stderr

时间:2014-12-06 21:19:29

标签: bash shell

我有一个运行某些任务的bash脚本,并将错误重定向到/ stderr。

这意味着该脚本以:

开头
exec 2>$TMPDIR/stderr

现在,我想要的唯一一件事,在脚本运行完毕后,如何找回已写入stderr的任何潜在错误?因为,我想在bash运行完所有脚本后才显示错误。

2 个答案:

答案 0 :(得分:0)

如果将所有stderr消息定向到/dev/stderr&2(用于存储错误消息的目标文件),则这些消息将不会存储在文件中。在bash中可以理解“/ dev / stderr”是屏幕/终端。

因此,您可以将所有stderr消息定向到stderr消息文件,并通过使用如下方式阻止消息显示在屏幕/终端中:

my_script 2> "my_error_message_file"

解决在脚本完成后收回错误消息的解决方案

我认为要打开您的错误消息文件,您必须在脚本末尾放置一些代码才能打开错误消息文件

  

cat“my_error_message_file”

答案 1 :(得分:0)

您可以在最后打印$TMPDIR/stderr的内容:

cat "$TMPDIR"/stderr 

打印"作为错误" (正如你在评论中所说),你可能正在寻找这个:

cat "$TMPDIR"/stderr >&2

即,将cat命令的输出重定向到stderr

相关问题