读书人

UNIX重定向,该怎么解决

发布时间: 2012-03-09 21:42:53 作者: rapoo

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
[解决办法]
效果一样但实现原理不一样

读书人网 >UNIXLINUX

热点推荐