
第七部分 重定向
=============

## 26 重定向（redirection）

### 26.1 I/O重定向

  语法     |              含义
----------|-----------------------------------------------------------------
>file     | 把标准输出写到file，如果目标文件file不存在时，会新建一个； 如果目标文件file已经存在，它就会被覆盖，原本的数据都会丢失。 如果noclobber选项被设置，且文件file已经存在，则重定向失败。
n>file    | 把文件描述符n中的内容输出到file中。
>|file    | 即使已设置noclobber，也强行把标准输出写到file中。
n>| file  | 即使已设置noclobber，也强行把文件描述符n中的内容输出到file中。
>>file    | 把标准输出写到file中。如果目标文件file已经存在，则追加到file的结尾处； 如果file不存在，则新建一个。
n>> file  | 把文件描述符n中的内容追回到file中。
<file     | 从file中取出标准输入，即把file中的内容作为标准输入。
n< file   | 设置file为文件描述符n。
>& n      | 复制标准输出到文件描述符n。
<& n      | 复制文件描述符n中的内容到标准输入。
&> file   | 把标准输出和标准错误输出到file中，在语义上等价于： >file 2>&1。
&>> file  | 把标准输出和标准错误追加到file中，在语义上等价于： >>file 2>&1。
<& -      | 关闭标准输入。
>& -      | 关闭标准输出。
n> & -    | 关闭文件描述符n的输出。
n< & -    | 关闭文件描述符n的输入。
<> file   | 使用file作为标准输入和标准输出。如果file不存在，会新建一个。


### 26.2 说明

	重定向是按从左到右的顺序进行处理的。
	如果打开或创建文件失败，将引起重定向失败。


### 26.3 标准文件描述符

文件描述符 |   名字     |  通用缩写  |  典型默认
---------|------------|----------|----------
0        | 标准输入    |  stdin   |   键盘
1        | 标准输出    |  stdout  |   屏幕
2        | 标准错误输出 |  stderr  |   屏幕
		 
Add the doc of shell redirection.
Add the doc of shell redirection.
