Re: X > /tmp/x.out 2>&1
※ 引述《SAGA.bbs@great.dorm5.nctu.edu.tw (Mandrake 7.0)》之銘言:
: ※ 引述《edt1023@ms28.url.com.tw (Edward Lee)》之銘言:
: > Mandrake 7.0 撰寫於文章 <3aBd5V$5Xk@great.dorm5.nctu.edu.tw>...
: > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
: > 好像不是如此吧! >& 後應會有個 file descriptor,>& 前
: > 也可以有 descriptor,沒有的話就是指 1(stdout)。因此 >&n
: > 是將 stdout 輸出至 file descriptor n 中。m>&n 則是將 file
: > descriptor m 輸出一份至 file descriptor n 中。重點是 >& 及
: > <& 是 append 的方式(這句話有點語病,但大致是如此)。
: file descriptor是什麼呢?
照抄Advanced Programming in the UNIX Environment 中文版 vol.1
(原著 W. Richard Steven /中文版總校閱:劉祖亮 和碩科技出版)
16頁
檔案描述詞(file descriptor):
檔案描述詞是系統核心用來識別特定處理程序所存取檔案的非負值整數,
每當系統核心開啟一個現有的檔案,或是建立一個新的檔案時,
就會傳回一個代表該檔案的檔案描述詞,
接著我們就可以透過這個檔案描述詞存取相對應的檔案
38頁:
檔案描述詞:
對核心程式而言所有的檔案開啟都涉及檔案描述詞.檔案描述詞為一正整數.
當我們開啟一個現存的檔案或是建立一個新檔案時,
核心程式會將檔案描述詞傳回給處理程序......
通常,檔案描述詞 0 代表處理程序的標準輸入,檔案描述詞 1 代表處理程序的標準輸出
而檔案描述詞為2時,代表處理程序的標準錯誤輸出.這是一個Unix shell 和許多 UNIX
應用程式的慣例(非核心硬性定義的).儘管如此,若不遵守這個規則,
許多UNIX應用程式將無法執行
..........................................準(台語)!!!!!
: > 給您動動腦筋,以下兩者有何不同呢?
: > X > /tmp/x.out 2>&1
: > X 2>&1 > /tmp/x.out
: #!@$#@%$#^%%%^%$^$%^%$^~~~~~~(腦袋當機了)
--
我只是照抄,不代表我懂,請別寄信來跟我討論..:Q
--
※ Origin: 臺大電機 Maxwell 站 ◆ From: reddust.m8.ntu.edu.tw
Linux 近期熱門文章
23
129
PTT數位生活區 即時熱門文章