我查看了 TSCH 手册页,其中显示“输出文件或错误文件都可以是‘/dev/tty’以将输出发送到终端”。因此,如果我可以重定向到两个不同的位置,那就可以了。但是打电话来说,
(make foo > /dev/tty) > error.txt
留给我一个空的error.txt
。正如make foo | tee error.txt
。
答案1
你需要做:
(command > stdout) >& stderr
例如:
(make foo > /dev/tty) >& error.txt
第一个>
将 stdout 重定向到 tty,然后>&
将剩下的内容重定向到 error.txt。
在你的情况下,它会像这样:
~> (make foo > /dev/tty) >& error.txt
~> cat error.txt
make: *** No rule to make target `foo'. Stop.
如果你想两个都显示它,和将其写入文件,|&
类似于>&
,即:
~> ( python err.py > /dev/tty ) |& tee error.txt
This is stdout
This is stderr
~> cat error.txt
This is stderr