免费注册 查看新帖 |

Chinaunix

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

看AUPE过程的重定向问题. [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-06-04 07:49 |只看该作者 |倒序浏览
  1. $./a.out 0 < /dev/tty
  2. read only
  3. $ ./a.out 1 > temp.foo
  4. $ cat temp.foo
  5. write only
  6. $ ./a.out 2 2>>temp.foo
  7. write only, append
  8. $ ./a.out 5 5<>temp.foo
  9. read write
复制代码



我知道 "0 <"是标准输入stdin
          "1 >"是stdout
          "2 >"是stderr

上边代码中的 ./a.out 2 2>>temp.foo和./a.out 5 5<>temp.foo什么意思?

书上说kornshell子句5 < > t e m p . f o o表示在文件描述符5上打开文件t e m p . f o o以供读、写

是什么意思呀?

主要是那些">""<"符号的组合起来的意思,谢谢指教.

论坛徽章:
0
2 [报告]
发表于 2008-06-04 09:34 |只看该作者
帮你引用一个:http://www.linuxsir.org/bbs/printthread.php?t=250026

< /dev/tty : 重定向进程的输入到/dev/tty

2>>temp.foo : 在文件描述符2的输出追加到temp.foo

5<>temp.foo : 在文件描述符5上打开temp.foo
打开的flags参考下面的代码


bash中有关重定向的代码片段:

代码:

--------------------------------------------------------------------------------
    672  switch (instruction)
    673    {
    674
    675    case r_output_direction:        /* >foo */
    676    case r_output_force:        /* >| foo */
    677    case r_err_and_out:        /* command &>filename */
    678      temp->flags = O_TRUNC | O_WRONLY | O_CREAT;
    679      break;
    680
    681    case r_appending_to:        /* >>foo */
    682      temp->flags = O_APPEND | O_WRONLY | O_CREAT;
    683      break;
    684
    685    case r_input_direction:    /* <foo */
    686    case r_inputa_direction:        /* foo & makes this. */
    687      temp->flags = O_RDONLY;
    688      break;
    689
    690    case r_input_output:        /* <>foo */
    691      temp->flags = O_RDWR | O_CREAT;
    692      break;

论坛徽章:
0
3 [报告]
发表于 2008-06-04 11:05 |只看该作者

回复 #2 xi2008wang 的帖子

好象明白了点,不知道有没有更详细的解释.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP