来自 bash 脚本输出的日志文件

来自 bash 脚本输出的日志文件

我有一个可以运行的脚本(运行良好)。

我想从其输出中生成日志文件并仍在屏幕上显示它。我有这个命令创建三个文件来自这个博客

((./fk.sh 2>&1 1>&3 | tee errors.log) 3>&1 1>&2 | tee output.log) 2>&1 | tee final.log

这正是我想要的。

我唯一的问题是我在脚本中创建文件并将它们复制到某个地方,我想将这些日志文件也复制到那里,但在此脚本运行时我无法做到这一点。我还想让任何用户都能更轻松地运行我的脚本,所以我创建了另一个脚本来运行此脚本。根据这篇文章(参见最后一篇文章)我可以.在脚本名称前面放置一个,并且如果我在第一个脚本中使用变量,我就可以使用该脚本中从第一个脚本调用的脚本中分配的变量。

但它似乎不起作用,我无法弄清楚原因,也找不到其他方法。

有人可以帮忙吗?

答案1

请阅读以下链接中提供的解决方案:
将代码块记录到 bash 中的日志文件@stackoverflow.com

答案2

我发现通过使用exec我可以实现我想要的而不需要第二个脚本,如下所示:

#!/bin/bash
exec 1>&2-
cmd1
cmd2

认为值得发布以防有人碰巧遇到这个问题!

相关内容