bash 文件描述符
例子:
$ echo A >&3
-bash: 3: Bad file descriptor
$ echo A 3>&2 >&3|grep 8
A
第一行输出给描述符 3 相关的文件,但是没有这个文件,所以出错。
第二行把描述符 3 分配给了原先 2 的文件,然后又将输出导入到描述符 3 对应的文件中,也就是将结果输出到 stderr 中,所以 grep 8 不能拦截 echo 的输出(可以看到 A 被打印出来了)。
这种方法可以用来交换标准输入和输出流。
例子:
$ echo A >&3
-bash: 3: Bad file descriptor
$ echo A 3>&2 >&3|grep 8
A
第一行输出给描述符 3 相关的文件,但是没有这个文件,所以出错。
第二行把描述符 3 分配给了原先 2 的文件,然后又将输出导入到描述符 3 对应的文件中,也就是将结果输出到 stderr 中,所以 grep 8 不能拦截 echo 的输出(可以看到 A 被打印出来了)。
这种方法可以用来交换标准输入和输出流。