- 论坛徽章:
- 0
|
2>&1和1>&2 输出有什么区别么?
原来是我认为:2>&1 会是先输出错误信息,然后正确信息 1>&2 先输出正确信息,再错误信息,可是实际两则输出的都一样,都是先输出错误信息,然后是正确信息
bash-3.00$ ls yun.txt no.yun.txt
no.yun.txt: 无此文件或目录
yun.txt
------------------------------------------------------------------------
bash-3.00$ ls yun.txt no.yun.txt >55.txt 2>&1
bash-3.00$ cat 55.txt
no.yun.txt: 无此文件或目录
yun.txt
-------------------------------------------------------------------------
bash-3.00$ ls yun.txt no.yun.txt 2>66.txt 1>&2
bash-3.00$ cat 66.txt
no.yun.txt: 无此文件或目录
yun.txt
--------------------------------------------------------------------------------
如果我想先输出正确信息,然后是错误信息该怎么做?
我用了追加的方式:
bash-3.00$ ls yun.txt no.yun.txt >77.txt 2>>77.txt
bash-3.00$ cat 77.txt
yun.txt
xt: 无此文件或目录
发现追加的错误信息并不对,错误信息应该是"no.yun.txt: 无此文件或目录"才对,而现在显示却是"xt: 无此文件或目录",为什么会这样?
--------------------------------------------------------------------------------
我的问题:
1,2>&1和1>&2 输出有什么区别么?
2,如果我想先输出正确信息,然后是错误信息该怎么做?
3,追加的方式中,为什么显示的错误信息不全?
|
|