2&1 >file - Linux

Table of Contents

command >file 2>&1
command 2>&1 >file

不懂為什麼不同.
第一個是標準輸出資料流往file走 然後把錯誤輸出導向標準輸出 因此最後會
在檔案先印標準輸出 接著印錯誤輸出

第二個 論理來說 應該是錯誤輸出導向標準輸出 接著標準輸出會導向file去 結果
應該會跟上面一樣 但是真正的執行結果卻是file只有標準輸出

--

All Comments

Franklin avatarFranklin2014-11-18
你把>看成值的指定就懂了,因為它本質是dup2這個系統呼叫
Lydia avatarLydia2014-11-19
意思差不多,但最好的理解應該是把fd1,fd2,fdn看成是指標,
Aaliyah avatarAaliyah2014-11-21
本來fd1(標準輸出)指向console(or tty)輸入,fd2也是,標題
的行為是先把fd2指向原來fd1指的地方(console or tty),然
後把fd1指向fdn所指的地方(也就是file)
Vanessa avatarVanessa2014-11-22
輸出 (更正錯字)
Ivy avatarIvy2014-11-25
除非fd1本已指向非console/tty output,否則這標題實用性
Sandy avatarSandy2014-11-28
不大(因為stderr操作前後不變),比較像考題