我有一个运行某些任务的bash脚本,并将错误重定向到/ stderr。
这意味着该脚本以:
开头exec 2>$TMPDIR/stderr
现在,我想要的唯一一件事,在脚本运行完毕后,如何找回已写入stderr的任何潜在错误?因为,我想在bash运行完所有脚本后才显示错误。
答案 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
。