Ala*_*mas 6 bash stdout sh stderr tee
我需要将 stdout 重定向到控制台,并将 stdout 和 stderr 重定向到文件。这需要在 shell 脚本内完成。我发现下面的代码可以重定向到控制台和日志文件,现在我需要将 stderr 删除到控制台。
exec > >(tee -i "output.log") 2>&1
Run Code Online (Sandbox Code Playgroud)
你能帮我一下吗?
小智 2
源自这个答案: How do I get STDOUT 和 STDERR to go to theterminal and a log file?
我测试了以下代码:
echo '' > out.log
exec 1> >(tee -a -i out.log) 2> >(tee -a -i out.log > /dev/null)
>&2 echo yay
echo nay
Run Code Online (Sandbox Code Playgroud)
STDERR 内容进入文件而不是控制台,而 STDOUT 则进入两者。