如果我使用这个
cmd 2>/var/error.log
然后我的错误转到该文件但我无法在屏幕上看到。
有什么方法可以同时在屏幕上显示以及发送到文件吗?
答案 0 :(得分:3)
这将在终端上显示stdout和stderr,而仅将stderr发送到err.log
:
cmd 2> >(tee err.log >&2)
>(...)
是流程替换。 (两个连续的>
之间的空格是必不可少的。)这会将stderr和stderr发送到tee
命令。
>&2
导致错误消息保留在stderr中。这很重要,例如,如果此行发生在某个脚本中,其中stdin或stderr被重定向。 (帽子提示:切普纳。)
答案 1 :(得分:0)
cmd 2>&1 | tee /tmp/error.log