我在很多shell例子里看到,有"2>&1 >/dev/null"的写法,例如“/usr/lib/acct/ckpacct > /dev/null 2>&1“有谁知道这"2>&1“的意思吗?
picobsd 回复于:2002-01-29 01:24:54
关于, & 1 更准确的说应该是文件描述符 1,而1 一般代表的就是STDOUT_FILENO,实际上这个操作就是一个dup2(2)调用.他标准输出到all_result ,然后复制标准输出到文件描述符2(STDERR_FILENO),其后果就是文件描述符1和2指向同一个文件表项,也可以说错误的输出被合并了
zting 回复于:2002-01-29 10:07:52
多谢多谢,真是高手啊!
huang 回复于:2002-11-08 00:45:12
我还是不太明白,那个AWD是作用,还有其工作原理?请问楼上的兄弟能否再麻烦麻烦。
还有2>&1还是有点不懂。
kennyg 回复于:2002-11-14 12:54:33
0表示键盘输入
1表示屏幕输出
2表示错误输出
happydog 回复于:2002-12-08 12:21:24
这个是不是一般用于屏蔽脚本运行时的错误提示?有时候我只用知道一个命令是成功还是失败,但是并不想显示错误结果,就可以用这个,是这样吗
akeyliu 回复于:2002-12-09 18:08:08
检查一个命令执行是否成功,用$?来检查就行了。
doni 回复于:2002-12-09 23:57:53
在c程序中的stdout就输出成1,stderr就输出成2。
peter333 回复于:2002-12-10 03:12:27
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).
hpux 回复于:2003-03-21 14:51:08
[quote="zting"][color=red][move]请记住:任何你在解决问题时哪怕只有一点点的犹豫,都是你要再好好研究几遍的地方![/move][/color]
[url=http://www.myhpux.com][color=blue]HP-UX系统管理和开发[/color]quote]
为什么?
为什么?
为什么?
莫非myhpux.com就是您给注册了?
我的网站已经改成http://hpux.0451.net
另外,关于2>&1的详细解释,可以到HP-UX去看我的精华区的文章!!!
lixiaosi 回复于:2003-03-21 15:04:48
就是把错误的输出定向到正确的地址里面,本来在shell里面:
./xxx >> ./log这是说把正确的执行过程写入log里面,但是如果xxx的执行有错,或者xxx本身的输入就是定向到错误输出的,比如说oralce里面的exp和imp命令,那就的要这样写:
./xxx >> ./log 2>&1 表示把错误输出也写到log里面 ,2(错误),&1正确输出的地址,也就是你定义的log的地址
pms 回复于:2003-03-24 17:13:07
UP.不看还懂,一看越发不懂
james_chuj 回复于:2003-07-30 17:41:50
2002年的问题还有这么多人不懂,还被拿到精华区,看来要做彻底解释。只有真正了解重定向,才会理解2>&1。
| 论坛热门帖子: | [lch203] 写得蛮好的linux学习笔记(10-21) [黑马制造] 学习java的30个目标(10-19) [笑傲股林] 做测试半年了,有点迷茫,应该再学些什么提高自己的测试水平和测试能力呢?(10-19) [udp8589] 大家用google的来吱一声? 用百度的~~也来报道下?(10-18) [沂偌掳兆] 本人总结的一些认为C++比较经典的书籍,希望对大家有用(10-18) |
| TAG标签: | 意思 知道 输出 标准 /color color 文件 blue 错误 定向 |
注册
个人空间
