我想知道如何将stderr重定向到多个输出.我用这个脚本试了一下,但是我无法让它工作得很正确.第一个文件应该有stdout和stderr,第二个应该有错误.
perl script.pl &> errorTestnormal.out &2> errorTest.out
有没有更好的方法来做到这一点?任何帮助将不胜感激.谢谢.
perl script.pl 2>& 1> errorTestnormal.out | tee -a errorTestnormal.out> errorTest.out
会做你想要的
这有点凌乱,让我们一步一步的走过去.
>我们说现在去STDERR过去会去STDOUT
>我们说过去往STDOUT的东西现在会转到errorTestnormal.out.
所以现在,STDOUT被打印到一个文件,STDERR被打印到STDOUT.我们想把STDERR放在两个不同的文件中,我们可以用三通做.三通将文字附加到文件中,并与STDOUT相呼应.
>我们使用tee附加到errorTestnormal.out,所以现在它包含script.pl的所有STDOUT和STDERR输出.
>然后,我们将STDOUT(其中包含STDERR从script.pl)写入errorTest.out
之后,errorTestnormal.out具有所有的STDOUT输出,然后所有的STDERR输出. errotTest.out只包含STDERR输出.