文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
重定向即替换数据流
标准输入/输出/错误在描述符表中的位置是固定的,但它们指向的数据流可以改变。
所有向标准输出发送数据的函数会先查看描述符表,看 1 号描述符指向哪条数据流,然后再把数据写到这条数据流中,
printf() 便是如此。
进程可以重定向自己
到目前为止,你只在命令行中用“>”和“<”运算符重定向过程序,但只要修改描述符表,进程也能重定向它们自己。
百宝箱
难怪要用“2>”你可以在命令行用“>”运算符重定向标准输出,用“2>”重定向标准错误:./myprog > output.txt 2> errors.log
现在,知道为什么标准错误要用“2> ”来重定向了吧,因为 2 是标准错误在描述符表中的编号。在很多操作系统中,也可以用“1> ”来重定向标准输出。而在类 Unix 操作系统中,可以用以下命令把标准错误和标准输出重定向到一个地方:
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论