免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1395 | 回复: 1
打印 上一主题 下一主题

问个重定位的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-06-04 12:54 |只看该作者 |倒序浏览
bash圣经上讲:
关闭文件描述符
n<&- 关闭输入文件描述符n.
0<&-, <&- 关闭stdin.
n>&- 关闭输出文件描述符n.
1>&-, >&- 关闭stdout.

echo 1234567890 > File # 写字符串到"File".
exec 3<> File # 打开"File"并且给它分配fd 3.
read -n 4 <&3 # 只读4 个字符.
echo -n . >&3 # 写一个小数点.
exec 3>&- # 关闭fd 3.
cat File # ==> 1234.67890

这种情况下3又是输出符号,又是输入符号,怎么关闭时候只需要exec 3>&1?

exec 6<&0这个是不是代表6与标准输入连接,也就是fd 6里面存的信息就是标准输入的信息,既是将6定位到标准输入上去。?
exec 0<&6    6<&-  这个代表0这个fd可以用6之前保存的信息了,即将0链接到6上去,而且是硬链接,后面你可以将6关掉了?


exec 6>&1 这个是不是代表6与标准输出连接,也就是fd 6里面存的信息就是标准输出的信息,既是将6定位到标准输出上去。?

29 exec 1>&6 6>&-   这个代表1这个fd可以用6之前保存的信息了,即将1链接到6上去,而且是硬链接,后面你可以将1关掉了?

论坛徽章:
0
2 [报告]
发表于 2010-06-04 13:39 |只看该作者
这种情况下3又是输出符号,又是输入符号,怎么关闭时候只需要exec 3>&1?
lz上面写的是
exec 3>&- # 关闭fd 3.

这个问的是啥?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP