[問題] 2&1 >file
command >file 2>&1
command 2>&1 >file
不懂為什麼不同.
第一個是標準輸出資料流往file走 然後把錯誤輸出導向標準輸出 因此最後會
在檔案先印標準輸出 接著印錯誤輸出
第二個 論理來說 應該是錯誤輸出導向標準輸出 接著標準輸出會導向file去 結果
應該會跟上面一樣 但是真正的執行結果卻是file只有標準輸出
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.166.152.113
※ 文章網址: http://www.ptt.cc/bbs/Linux/M.1416190207.A.EB8.html
→
11/17 11:06, , 1F
11/17 11:06, 1F
理解了, 感謝.
COMMAND >file 2>&1
的步驟就是 先把file寫到1(stdout)的fd內容內 然後把 1(stdout)的fd內容覆蓋給2:
1 stdout -> file -> file
2 stderr -> stderr -> file
n file -> file -> file
COMMAND 2>&1 >file則是:
1 stdout -> stdout -> file
2 stderr -> stdout -> stdout
n file -> file -> file
於是結果就變成一般輸出寫到file內 但是錯誤輸出則出現在stdout(銀幕)中
不曉得這樣理解對不對?
※ 編輯: NTUHensen (118.166.152.113), 11/17/2014 12:51:45
→
11/17 13:14, , 2F
11/17 13:14, 2F
→
11/17 13:15, , 3F
11/17 13:15, 3F
→
11/17 13:15, , 4F
11/17 13:15, 4F
→
11/17 13:15, , 5F
11/17 13:15, 5F
→
11/17 13:16, , 6F
11/17 13:16, 6F
推
11/17 13:17, , 7F
11/17 13:17, 7F
→
11/17 13:18, , 8F
11/17 13:18, 8F
討論串 (同標題文章)
完整討論串 (本文為第 1 之 2 篇):
1
8
Linux 近期熱門文章
21
56
PTT數位生活區 即時熱門文章