ChinaUnix.net
 >> ChinaUnix.net > Shell

有谁知道“2>&1"的意思吗?

作者:zting     发表时间:2002/01/28 06:05pm

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

此文章相关评论:
该文章有8个相关评论如下:(点这儿可以发表评论)
picobsd 发表于: 2002/01/29 01:24am
关于, & 1 更准确的说应该是文件描述符 1,而1 一般代表的就是STDOUT_FILENO,实际上这个操作就是一个dup2(2)调用.他标准输出到all_result ,然后复制标准输出到文件描述符2(STDERR_FILENO),其后果就是文件描述符1和2指向同一个文件表项,也可以说错误的输出被合并了
 
zting 发表于: 2002/01/29 10:07am
多谢多谢,真是高手啊!
 
huang 发表于: 2002/11/08 00:45am
我还是不太明白,那个AWD是作用,还有其工作原理?请问楼上的兄弟能否再麻烦麻烦。
还有2>&1还是有点不懂。
 
kennyg 发表于: 2002/11/14 12:54pm
0表示键盘输入
1表示屏幕输出
2表示错误输出
 
happydog 发表于: 2002/12/08 12:21pm
这个是不是一般用于屏蔽脚本运行时的错误提示?有时候我只用知道一个命令是成功还是失败,但是并不想显示错误结果,就可以用这个,是这样吗
 
AkeyLiu 发表于: 2002/12/09 06:08pm
检查一个命令执行是否成功,用$?来检查就行了。
 
doni 发表于: 2002/12/09 11:57pm
在c程序中的stdout就输出成1,stderr就输出成2。
 
peter333 发表于: 2002/12/10 03:12am
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).
 
 

Copyright © ChinaUnix.net  *  转载请注明出处及作者