3.绑定重定向
| Command >&m | 把标准输出重定向到文件描述符m中 |
| Command < &- | 关闭标准输入 |
| Command 0>&- | 同上 |
三、使用实例
cmd > file
#说明: 将 cmd 的输出发送到 file 文件(覆盖模式)
cmd >> file
#说明: 将 cmd 的输出发送到 file 文件(追加模式)
cmd < file
#说明: 以 file 文件的内容作为 cmd 的输入
cmd << text
#说明: 嵌入文件(here document, 类似于PHP语法)形式的输入
#shell 可在行内输入中做变量、命令和算术替换
cmd <<- text
#说明: 作用同上, 不过会自动删除here document中每行开头的制表符Tab
cmd <<< word
#说明: here string 格式的输入
#参见: http://bash.cyberciti.biz/guide/Here_strings
#参见: http://linux.die.net/abs-guide/x15683.html
cmd <> file
#说明: 以读写方式打开文件 file
cmd >| file
#说明: 强制以覆盖方式将 cmd 的输出发送到 file 文件
#即便 shell 设置了 noclobber 选项也是如此
cmd >&n
#说明: 将 cmd 的输出发送到文件描述符 n
cmd m>&n
#说明: 作用同上。将本该输出到文件描述符 m 的内容, 发送到文件描述符 n
cmd >&-
#说明: 关闭标准输出
cmd <&n
#说明: 从文件描述符 n 处获取内容作为 cmd 命令的输入
cmd m<&n
#说明: 作用同上。除了本该从文件描述符 m 处获取输入,改为从文件描述符 n 处获取
cmd <&-
#说明: 关闭标准输入
cmd <&n-
#说明: 通过复制移动文件操作符 n 为标准输入并且关闭原始输入
cmd >&n-
#说明: 通过复制移动文件操作符 n 为标准输出并且关闭原始输出
cmd 2>file
#说明: 将标准错误输出发送到文件 file
cmd > file 2>&1
#说明: 将标准输出发送到文件 file, 将标准错误发送到文件描述符 1, 也即 file 文件
cmd >& file
#说明: 将标准输出和标准错误都发送到文件 file (作用同上)
cmd &> file
#说明: 作用同上, 更好的格式
cmd &>> file
#说明: 将标准错误和标准输出发送到文件 file (追加模式)
cmd > f1 2> f2
#说明: 将标准输出发送到文件 f1, 将标准错误发送到文件 f2
cmd | tee files
#说明: 发送 cmd 的输出到标准输出 (通常为终端) 和 文件 files
cmd 2>&1 | tee files
#说明: 发送 cmd 的输出和错误到标准输出 (通常为终端) 和 文件 files
cmd |& tee files
#说明: 作用同上
四、shell重定向的一些高级用法
1.重定向标准错误
例子1:
command 2> /dev/null










