免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1681 | 回复: 4

[文本处理] echo cat重定向问题 [复制链接]

论坛徽章:
0
发表于 2016-03-10 15:07 |显示全部楼层
1.
echo 1 > 1.txt >2.txt>3.txt
2.
echo 11 > 1.txt
cat 1.txt > 2.txt > 3.txt

请问1和2的操作最终结果只在3.txt里面显示,为什么中间的文件是空的,什么原理?

论坛徽章:
84
每日论坛发贴之星
日期:2015-12-29 06:20:00每日论坛发贴之星
日期:2016-01-16 06:20:00每周论坛发贴之星
日期:2016-01-17 22:22:00程序设计版块每日发帖之星
日期:2016-01-20 06:20:00每日论坛发贴之星
日期:2016-01-20 06:20:00程序设计版块每日发帖之星
日期:2016-01-21 06:20:00每日论坛发贴之星
日期:2016-01-21 06:20:00程序设计版块每日发帖之星
日期:2016-01-23 06:20:00程序设计版块每日发帖之星
日期:2016-01-31 06:20:00数据库技术版块每日发帖之星
日期:2016-01-16 06:20:00程序设计版块每日发帖之星
日期:2016-01-16 06:20:00程序设计版块每日发帖之星
日期:2016-01-14 06:20:00
发表于 2016-03-11 10:25 |显示全部楼层
因为最后把stdout重定向到 3.txt 了

论坛徽章:
84
每日论坛发贴之星
日期:2015-12-29 06:20:00每日论坛发贴之星
日期:2016-01-16 06:20:00每周论坛发贴之星
日期:2016-01-17 22:22:00程序设计版块每日发帖之星
日期:2016-01-20 06:20:00每日论坛发贴之星
日期:2016-01-20 06:20:00程序设计版块每日发帖之星
日期:2016-01-21 06:20:00每日论坛发贴之星
日期:2016-01-21 06:20:00程序设计版块每日发帖之星
日期:2016-01-23 06:20:00程序设计版块每日发帖之星
日期:2016-01-31 06:20:00数据库技术版块每日发帖之星
日期:2016-01-16 06:20:00程序设计版块每日发帖之星
日期:2016-01-16 06:20:00程序设计版块每日发帖之星
日期:2016-01-14 06:20:00
发表于 2016-03-11 10:30 |显示全部楼层
按照指针理解

或者按照符号链接理解,
    知道怎么创建符号链接文件吧

论坛徽章:
0
发表于 2016-03-11 17:48 |显示全部楼层
是不是可以理解为以最后一个为准,不管中间有多少都只是形式上的。就像符号链接一样,最终会写到真是文件里面。回复 3# yjh777


   

论坛徽章:
84
每日论坛发贴之星
日期:2015-12-29 06:20:00每日论坛发贴之星
日期:2016-01-16 06:20:00每周论坛发贴之星
日期:2016-01-17 22:22:00程序设计版块每日发帖之星
日期:2016-01-20 06:20:00每日论坛发贴之星
日期:2016-01-20 06:20:00程序设计版块每日发帖之星
日期:2016-01-21 06:20:00每日论坛发贴之星
日期:2016-01-21 06:20:00程序设计版块每日发帖之星
日期:2016-01-23 06:20:00程序设计版块每日发帖之星
日期:2016-01-31 06:20:00数据库技术版块每日发帖之星
日期:2016-01-16 06:20:00程序设计版块每日发帖之星
日期:2016-01-16 06:20:00程序设计版块每日发帖之星
日期:2016-01-14 06:20:00
发表于 2016-03-11 18:09 |显示全部楼层
shang2354 发表于 2016-03-11 17:48
是不是可以理解为以最后一个为准,不管中间有多少都只是形式上的。就像符号链接一样,最终会写到真是文件里 ...


嗯,可以按照建符号链接理解,从左到右执行;

其实内部是个顺序赋值的过程,很简单:

    初始值 fd[1] = stdout;  fd[2] = stderr

    2>&1  > file    #   2> 1(stdout)  1 >file   # fd[2] = fd[1],fd[1] = file

    >file  2>&1     #   1 >file   2> 1(file)          # fd[1] = file, fd[2] = fd[1]

    > file1  > file2  >file3       # fd[1] = file1, fd[1] = file2, fd[1] = file3
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP