最佳答案
我有一个脚本,将运行交互式的非技术用户。该脚本将状态更新写入 STDOUT,以便用户可以确保脚本运行正常。
我希望 STDOUT 和 STDERR 都重定向到终端(这样用户就可以看到脚本正在工作,也可以看到是否有问题)。我还希望这两个流都重定向到一个日志文件。
我在网上看到了很多解决方案。有些不起作用,有些非常复杂。我已经开发出了一个可行的解决方案(我将把它作为一个答案输入) ,但它是复杂的。
完美的解决方案是将一行代码合并到任何脚本的开头,这些脚本同时向终端和日志文件发送两个流。
编辑: 将 STDERR 重定向到 STDOUT 并将结果管道化到 tee 可以工作,但这取决于用户记住重定向和管道化输出。我希望日志记录是万无一失的和自动的(这就是为什么我希望能够将解决方案嵌入到脚本本身中)