我完全不理解這種行爲。爲什麼在STDERR行之後打印STDOUT行?
我有一個非常簡單的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到相同的文件 命令我進入控制檯?
+1。究竟。做'$ | ++'會達到理想的結果。 – devnull
謝謝,Leon!您的回答完美地解釋了問題以及如何解決問題。 – bessarabov