我正在運行一個python腳本,當它以詳細模式運行時會產生某些輸出。當我將輸出輸出到較少的實用程序時,輸出的順序不同。作爲參考,腳本,如果不完全,非常接近這樣的:爲什麼輸出更少的變化順序?
http://svn.apache.org/repos/asf/subversion/trunk/tools/client-side/change-svn-wc-format.py
具體來說,我得到的「數據爲以下字段(S)」的消息,當我運行它,而不輸出管道,以更少,這個消息最後出現。當我輸出到較少時,輸出神奇地首先出現。
有人可以解釋一下嗎?
我確定當詳細消息轉到標準輸出時,錯誤消息轉到標準錯誤。但是,即使我這樣做:
./svnfixversion ./ 1.5 --verbose 2>&1 | less
輸出是不同的,當我剛剛離開|減。如果stderr被重定向到stdout,那麼不應該更少地保存命令嗎?
'less'不會保留它接收的訂單;但是,不能保證在首先寫入管道時shell如何交錯標準錯誤和標準輸出。 – chepner