符号 |
意义 |
n>&m |
将FD为m的输出复制到FD为n的文件中 |
n<&m |
将FD为m的输入复制到FD为n的文件中 |
n>&- |
关闭FD为n的输出 |
n<&- |
关闭FD为n的输入 |
&>file |
将标准输入和标准错误输出到重定向到文件 |
- [root@localhost shell]# vi execerr
- 1 #!/bin/sh
- 2 exec 8>&1 9>&2 #将FD 1 复制到FD 8,将FD 2 标准错误输出复制到FD 9
- 3 exec &> loggg #将标准和错误输出定向到文件loggg
- 4 ls z*
- 5 date
- 6 exec 1>&8 2>&9 8<&- 9<&- #恢复标准输入和标准错误输出 并关闭FD 8和9
- 7 echo "##################"
- 8 echo "Close FD 8 and 9 : " #测试输出和错误输出是否恢复现状
- 9 ls z*
- 10 date
- [root@localhost shell]# sh execerr
- ##################
- Close FD 8 and 9 :
- ls: cannot access z*: No such file or directory
- Wed Oct 5 19:20:13 CST 2011
- [root@localhost shell]# cat loggg
- ls: cannot access z*: No such file or directory
- Wed Oct 5 19:20:13 CST 2011