标签:
文件描述符是与文件输入和输出的相关联的整数,它们用来追踪已打开的文件,文件描述符0,1,2是系统预留的。
0 --> stdin (标准输入)
1 --> stdout (标准输出)
2 --> stderr (标准错误)
$ echo a1>a1 $ cp a1 a2;cp a2 a3 $ cat a* cat: a1: Permission denied a1 a1
将0定向到std.txt,将2定向到err.txt
$ cat a* >std.txt 2>err.txt
将0和1都定向到out.txt
$ cat a* >out.txt 2>&1.txt
tee命令
将stdin重定向到文本中并且在屏幕打印出来。
$ cat a*|tee out.txt cat: a1: Permission denied a1 a1 $ cat out.txt a1 a1
注意:out.txt并不包含“cat: a1: Permission denied”,因为它只能从stdin中进行读取。
默认的tee命令会将文件覆盖,但提供一个-a的选项用于追加。
$ cat a*|tee -a out.txt
重定向脚本内部的文本块
#/bin/bash sqlplus /nolog <<EOF >log.txt conn scott/tiger select * from cat; commit; exit EOF
<<EOF >log.txt和EOF之间的内容会被当做stdin,stdout会被重定向到log.txt。
自定义文件描述符
$ exec 4>output.txt $ echo newline >&4 $ cat output.txt newline
$ echo hello >input.txt
$ exec 3<input.txt $ cat <&3 hello
标签:
原文地址:http://www.cnblogs.com/zydev/p/5725121.html