重定向是什么

王朝other·作者佚名  2008-05-18
宽屏版  字体: |||超大  

我在很多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).

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有