我完全不理解这种行为。
我有一个非常简单的 Perl 脚本:
#!/usr/bin/perl
use strict;
use warnings;
print "line 1\n";
print STDERR "line 2\n";
如果我从控制台运行它,我会得到我所期望的:
$ perl a.pl
line 1
line 2
但是如果我将它重定向到文件,我会以相反的顺序得到这些行:
$ perl a.pl &> a
$ cat a
line 2
line 1
如何以与控制台中相同的顺序将所有输出 STDOUT+STDERR 捕获到文件中?