首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

UNIX重定向,该怎么解决

2012-03-09 
UNIX重定向请问./a.out ./abc 和 cat ./abc | ./a.out有什么区别?各自的执行过程是怎样的?[解决办法]

UNIX重定向
请问./a.out < ./abc 和 cat < ./abc | ./a.out有什么区别?各自的执行过程是怎样的?

[解决办法]
效果一样的吧
都是从文件abc中读取输入
[解决办法]
1楼正解
[解决办法]
./a.out < ./abc 描述符0重定向到文件./abc
cat < ./abc | ./a.out 父进程描述符0重定向到文件./abc,描述符1重定向到管道Pipe[1]. 
子进程./a.out的描述符0重定向到管道pipe[0].

最终两个命令效果一样,也就是a.out进程从描述符0读./abc里的数据.



[解决办法]
管道会产生一个subshell
[解决办法]
效果一样但实现原理不一样

热点排行