|
发表于 2003-11-7 18:10:13
|
显示全部楼层
系统默认的文件描述符0,1,2,是标准输入(0),标准输出(1),标准错误输出(2).
关于文件描述符的讨论很多,请在本版搜索一下:关键词:文件描述符
>&和&>的区别:&> 表示将stdout和stderr全部定向到某处,如:
ls &> list
>& 是将一个文件描述名柄重定向到另一个文件描述句柄,如:
ls /dev/jsdkfsjd > err 2>&1 将stderr定向到stdout,然后再将stdout定向到文件err。
>& 两边只能是文件描述名柄,并且两边必须要有文件描述符。如: 2>&3 1>&4
&> 这个描述符两边不能出现文件描述名柄,它本身就表示将所有输出(stdout和stderr)重定向,因而它有一个默认的操作:2>&1 (注:sh不支持该操作符,所以就要用> file 2>&1来代替它) 相关链接: http://www.linuxsir.cn/bbs/showt ... E%C3%E8%CA%F6%B7%FB
|
|