当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 6 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 2>&1 >&0 这些是啥意思?
帖子发表于 : 2008-10-21 14:54 

注册: 2007-11-28 8:52
帖子: 130
送出感谢: 0 次
接收感谢: 1
首先是原文描述
n<&- 关闭输入文件描述符 n.
0<&-, <&- 关闭 stdin.
n>&- 关闭输出文件描述符 n.
1>&-, >&- 关闭 stdout.

子进程继承了打开的文件描述符. 这就是为什么管道可以工作. 如果想阻止 fd 被继承, 那么可
以关掉它.


exec 3>&1 # 保存当前 stdout 的"值".

ls -l 2>&1 >&3 3>&- | grep bad 3>&- # 对'grep'关闭 fd 3(但不关闭'ls').

exec 3>&-



我的测试如下:
ls -l 2>&1 >&3 3>&- | grep test #成功禁止了grep
ls -l 2>&1 >&3| grep test #成功禁止了grep
ls -l 2>&1 | grep test #成功禁止了grep
ls -l 2>&1 >&0 | grep test #禁止了grep ,0 1 2 3 都有显示,4就错误了

ls -l 2>&1- | grep test #啥也没
ls -l 2>&2- | grep test #grep出来了


:em20
没搞明白他们的逻辑关系,请问各位大大是怎么回事阿~~


页首
 用户资料  
 
2 楼 
 文章标题 : Re: 2>&1 >&0 这些是啥意思?
帖子发表于 : 2008-10-21 15:35 
头像

注册: 2007-03-13 17:26
帖子: 2254
送出感谢: 0 次
接收感谢: 1
这有什么用??


有需求的时候再去学这些东西


pg 1> /tmp/log.std # 标准输出 stdout改向
pg 2> /tmp/log.err # 标准错误 stderr改向
pg &> /tmp/log # 上面两个一起改向 stdout,stderr
pg >> /tmp/log # 标准输出改向追加
pg 1>> /tmp/log 2>&1 # 标准输出,错误改向追加


页首
 用户资料  
 
3 楼 
 文章标题 : Re: 2>&1 >&0 这些是啥意思?
帖子发表于 : 2008-10-21 20:22 

注册: 2007-11-28 8:52
帖子: 130
送出感谢: 0 次
接收感谢: 1
pg的使用没看懂... :em06
其实最大的问题在于
1>&1
2>&2
1>&1-
的&1,&1- 和前面的0 1 2是啥?


页首
 用户资料  
 
4 楼 
 文章标题 : Re: 2>&1 >&0 这些是啥意思?
帖子发表于 : 2008-10-21 21:23 
头像

注册: 2007-12-25 12:51
帖子: 231
送出感谢: 0 次
接收感谢: 0 次
那些是FD,楼主要去查资料了,这里说不清楚的。


页首
 用户资料  
 
5 楼 
 文章标题 : Re: 2>&1 >&0 这些是啥意思?
帖子发表于 : 2008-10-21 21:36 
头像

注册: 2006-02-28 3:11
帖子: 2470
送出感谢: 0 次
接收感谢: 0 次
我在想当时, linus设计linux结构的时候, 有想到这些吗?还是后来补充上去的?


_________________
一梦三年,
松风依旧,
萝月何曾老.


灵幽听微, 谁观玉颜?
灼灼春华, 绿叶含丹.


页首
 用户资料  
 
6 楼 
 文章标题 : Re: 2>&1 >&0 这些是啥意思?
帖子发表于 : 2008-10-25 11:27 

注册: 2007-11-28 8:52
帖子: 130
送出感谢: 0 次
接收感谢: 1
现在有一定的了解了,我会把我探索到的于大家分享


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 6 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 2 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译