免费注册 查看新帖 |

Chinaunix

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

[文本处理] 进程替换,求解释啊 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-10-27 13:02 |只看该作者 |倒序浏览
本帖最后由 whq39 于 2014-10-27 13:08 编辑

(echo "YES" )> >(read str; echo "1: ${str}:first")> >(read sstr; echo "2: $sstr:two")> >(read ssstr; echo "3: $ssstr:three" )
输出为:
1: 2: 3: YES:three:two:first

为什么结果是这样的,这里面的解析过程是什么,帮忙解释下吧,3q

RTX截图未命名.png (55.4 KB, 下载次数: 24)

RTX截图未命名.png

论坛徽章:
2
射手座
日期:2014-10-10 15:59:4715-16赛季CBA联赛之上海
日期:2016-03-03 10:27:14
2 [报告]
发表于 2014-10-27 21:46 |只看该作者
回复 1# whq39
  1. (echo "YES" )> >(read str; echo "1: ${str}:first")> >(read sstr; echo "2: $sstr:two")> >(read ssstr; echo "3: $ssstr:three" )

  2. ==>

  3. step1: (echo "YES")> >(read ssstr; echo "3: $ssst:three")
  4. step2: step1的输出 交予 >(read sstr; echo "2: $sstr:two")
  5. step3: step2的输出 交予 >(read str; echo "1: ${str}:first")
  6. 输出

  7. ==>
  8. (echo "YES" )> >(read ssstr; echo "3: $ssstr:three" ) | (read sstr; echo "2: $sstr:two") | (read str; echo "1: ${str}:first")

复制代码

论坛徽章:
2
射手座
日期:2014-10-10 15:59:4715-16赛季CBA联赛之上海
日期:2016-03-03 10:27:14
3 [报告]
发表于 2014-10-27 21:47 |只看该作者

论坛徽章:
0
4 [报告]
发表于 2014-10-29 10:18 |只看该作者
非常感谢您的回复。你给的链接看了,还是没看懂为什么执行顺序是你列出的那样。是不是与子进程有关啊回复 3# yinyuemi


   

论坛徽章:
8
摩羯座
日期:2014-11-26 18:59:452015亚冠之浦和红钻
日期:2015-06-23 19:10:532015亚冠之西悉尼流浪者
日期:2015-08-21 08:40:5815-16赛季CBA联赛之山东
日期:2016-01-31 18:25:0515-16赛季CBA联赛之四川
日期:2016-02-16 16:08:30程序设计版块每日发帖之星
日期:2016-06-29 06:20:002017金鸡报晓
日期:2017-01-10 15:19:5615-16赛季CBA联赛之佛山
日期:2017-02-27 20:41:19
5 [报告]
发表于 2014-10-30 19:36 |只看该作者

  1.        | proc1>         |  >(proc2)>     |   >(proc3)
  2.        |                |  pipe1         |   pipe2
  3. -------+----------------+----------------+----------------
  4. proc1  | fd0=>/dev/tty  | fd0=>/dev/tty  | fd0=>/dev/tty
  5.        | fd1=>/dev/tty  | fd1=>pipe1     | fd1=>pipe2
  6. -------+----------------+----------------+----------------
  7. proc2  |                | fd0=>pipe1     | fd0=>pipe1
  8.        |                | fd1=>/dev/tty  | fd1=>/dev/tty
  9. -------+----------------+----------------+----------------
  10. proc3  |                |                | fd0=>pipe2
  11.        |                |                | fd1=>pipe1
复制代码

论坛徽章:
8
摩羯座
日期:2014-11-26 18:59:452015亚冠之浦和红钻
日期:2015-06-23 19:10:532015亚冠之西悉尼流浪者
日期:2015-08-21 08:40:5815-16赛季CBA联赛之山东
日期:2016-01-31 18:25:0515-16赛季CBA联赛之四川
日期:2016-02-16 16:08:30程序设计版块每日发帖之星
日期:2016-06-29 06:20:002017金鸡报晓
日期:2017-01-10 15:19:5615-16赛季CBA联赛之佛山
日期:2017-02-27 20:41:19
6 [报告]
发表于 2014-10-30 19:40 |只看该作者
proc1-->pipe2-->proc3-->pipe1-->proc2

其它的请自行扩展

另外可以比较


(echo "YES" )> >( (read str; echo "1: ${str}:first")> >(read sstr; echo "2: $sstr:two") )
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP