您的位置:首页 > 文档 > Shell >
 文章分类 

重定向是什么


创建:2005-10-26 00:49:45
作者:Unlinux
来自: http://www.Unlinux.com

我在很多shell例子里看到,有"2>&1 >/dev/null"的写法,例如“/usr/lib/acct/ckpacct > /dev/null 2>&1“有谁知道这"2>&1“的意思吗?

关于, & 1 更准确的说应该是文件描述符 1,而1 一般代表的就是STDOUT_FILENO,实际上这个操作就是一个dup2(2)调用.他标准输出到all_result ,然后复制标准输出到文件描述符2(STDERR_FILENO),其后果就是文件描述符1和2指向同一个文件表项,也可以说错误的输出被合并了

我还是不太明白,那个AWD是作用,还有其工作原理?请问楼上的兄弟能否再麻烦麻烦。
还有2>&1还是有点不懂。

0表示键盘输入
1表示屏幕输出
2表示错误输出

这个是不是一般用于屏蔽脚本运行时的错误提示?有时候我只用知道一个命令是成功还是失败,但是并不想显示错误结果,就可以用这个,是这样吗

检查一个命令执行是否成功,用$?来检查就行了。

在c程序中的stdout就输出成1,stderr就输出成2。

Usually,we use 1>/dev/null 2>&1 if you don't want to see the result of a command or run a command at back ground. So, i think , 2>&1 means stderr(2) go the same place(/dev/null) as stdout(1).

转载自:http://www.unlinux.com/doc/shell/20051026/237.html

评论】 【加入收藏夹】 【 】 【打印】 【关闭
 *  请尊重我们的劳动,转载请注明出自UnLinux.Com及作者名 * 

※ 相关链接
 ·重定向  (2005-10-26 00:49:45)

Copyright © 2005 UnLinux.Com All Rights Reserved