当前位置: 首页 > news >正文

linux输出的重定向无效问题和解决

我们在调试程序或者打印日志时经常会遇到重定向的问题,而有时候会遇到重定向无效的问题,下面给一个简单的例子,首先写一个简单的test.c

#include <stdio.h>int main(){fprintf(stdout, "hello\n");fprintf(stderr, "world\n");return 0;
}

编译生成可执行程序test,如果执行:

./test > log.txt

会有打印

world

而hello的内容会跑到log.txt里面,同样如果我们写个脚本运行:

output=`./test`
echo "*************************"
echo $output

打印结果如下:

world
*************************
hello

可以看到,hello跑到了output变量里面,而world没有,这是什么原因呢,显然关键在stdout和stderr。在linux系统,一旦创建一个进程,那么与之对应的会有三个数据流:stdin,stdout和stderr,对应的会创建三个文件:stdin,标准输入文件,通常对应着终端的键盘。stdout,标准输出文件ÿ

http://www.lryc.cn/news/238866.html

相关文章:

  • chromium114添加新的语言国际化支持
  • 赛氪荣幸受邀参与中国联合国采购促进会第五次会员代表大会
  • 车载通信架构 —— 传统车内通信网络发展回顾
  • `maven.test.skip` 和 `skipTests` 的区别
  • linux输出的重定无效问题和解决
  • 开发上门按摩系统对技师如何管理,薪资结构怎么设计
  • 云HIS系统源码,医院管理系信息统源码,融合B/S版四级电子病历系统
  • Redis篇---第十篇
  • (vue)前后端配合实现文件预览功能
  • .NET 6 在已知拓扑路径的情况下使用 Dijkstra,A*算法搜索最短路径
  • SQL Server删除重复数据只保留一条
  • 如何使用 WPF 应用程序连接 FastReport报表
  • 【Django使用】4大模块50页md文档,第4篇:Django请求与响应和cookie与session
  • uniapp - 开关按钮
  • 使用sql语句获取SQL server库里所有表的表名,注释,行数
  • D-Wave推出新开源及解决无线信道解码新方案!
  • JavaScrip获取视频第一帧作为封面图
  • MATLAB - 一些散装小技巧
  • 【开源】基于Vue.js的衣物搭配系统的设计和实现
  • ubuntu 安装 gparted
  • vue超好用的自定义指令封装
  • 文件描述符与锁定状态在系统层面的表示
  • C#,数值计算——插值和外推,PolCoef的计算方法与源程序
  • 单体进化微服务:拆分、注册、调用、网关、过滤、治理、分布式事务
  • 介绍正则表达式及其用法
  • SpEL 表达式 是什么
  • gbase 8s 按时间点恢复
  • OceanBase:OBServer节点管理
  • 记录一个简单的博客系统该开发过程
  • 计算机毕业设计选题推荐-家庭理财微信小程序/安卓APP-项目实战