linux 重定向 1>&2 2>&1的各种变形理解

来源:互联网 发布:薛之谦男装店淘宝地址 编辑:程序博客网 时间:2024/06/05 08:32

ll a.txt b.txt 将输出一条标准输出和一条标准错误。
如下:
/bin/ls: b.txt: No such file or directory (用A表示)
-rw-r–r– 1 mqq mqq 6 2016-05-12 11:58 a.txt (用B表示)

下面讨论各种变形的输出结果和原因:
1、ll a.txt b.txt 1>file 2>&1 file内容A和B 屏幕内容无 (因为标准输出定向到文件,标准错误定向到标准输出,所以也定向到文件)
2、ll a.txt b.txt 2>&1 1>file file内容B 屏幕输出A (因为标准错误定向到了标准输出即屏幕,标准输出定向到文件)
3、ll a.txt b.txt 2>file 1>&2 file内容A和B 屏幕内容无(因为标准错误定向到文件,标准输出定向到标准错误,所以也定向到文件)
4、ll a.txt b.txt 1>&2 2>file file内容A 屏幕输出B(因为标准输出定向到了标准错误及屏幕,标准错误定向到文件)
5、ll a.txt b.txt 1>file 1>&2 file内容无 屏幕内容A和B (因为标准输出定向到文件,标准输出又定向的标准错误即屏幕,覆盖了1>file,所以file内容无)
6、ll a.txt b.txt 2>file 2>&1 file内容无 屏幕内容A和B (因为标准错误定向到文件,标准错误又定向到标准输出即屏幕,覆盖了2>file,所以file内容无)

测试结果如下:
这里写图片描述

0 0
原创粉丝点击