灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:2370回复:0

linux shell中"2*;1"含义简析

楼主#
更多 发布于:2012-08-27 15:00

关键词: 文件linux
linux shell中"2>;1"含义简析

问题:

在编译安卓操作系统的代码时候,一连需要10几个小时,为记录编译过程中间可能出问题,便于调试。
需要把编译过程输出到文件。这样也可以设置自动关机了。

解决方案:

编译时使用命令:make TARGET_PRODUCT=stalker OMAPES=5.x -j4 2>;1|tee makelog.log

即在后面加上:2>;1|tee makelog.log ,即可把日志输出到makelog.log这个文件。

参考资料:
  www.atcpu.com  
材料一:

command >out.file  2>;1 ;

command >out.file是将command的输出重定向到out.file文件,即输出内容不打印到屏幕上,而是输出到out.file文件中。2>;1 是将标准出错重定向到标准输出,这里的标准输出已经重定向到了out.file文件,即将标准出错也输出到out.file文件中。最后一个; , 是让该命令在后台执行。

材料二:

你可以用
            ls 2>1测试一下,不会报没有2文件的错误,但会输出一个空的文件1;
            ls xxx 2>1测试,没有xxx这个文件的错误输出到了1中;
            ls xxx 2>;1测试,不会生成1这个文件了,不过错误跑到标准输出了;
            ls xxx >out.txt 2>;1, 实际上可换成 ls xxx 1>out.txt 2>;1;重定向符号>默认是1,错误和输出都传到out.txt了。


作者 lifeiaidajia

喜欢0 评分0
游客

返回顶部