看板Linux
标 题Re: X > /tmp/x.out 2>&1
发信站台大电机 Maxwell BBS (Fri Apr 28 05:14:06 2000)
转信站Ptt!bbs.ee.ntu!Maxwell
※ 引述《[email protected] (Mandrake 7.0)》之铭言:
: ※ 引述《[email protected] (Edward Lee)》之铭言:
: > Mandrake 7.0 撰写於文章 <[email protected]>...
: > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
: > 好像不是如此吧! >& 後应会有个 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