一乐电子

 找回密码
 请使用微信账号登录和注册会员

QQ登录

只需一步,快速开始

微信扫码登录

手机号码,快捷登录

手机号码,快捷登录

搜索
查看: 4691|回复: 0

将make的输出重定向到文件

[复制链接]
发表于 2017-5-2 16:46 | 显示全部楼层 |阅读模式
数字    含义                   标准叫法* \$ r4 w& K, o% H" H1 d2 Y4 A5 w
0      标准输入        stdin = standard input$ R, l$ b* O6 ]( q; |1 ]: `! I
1      标准输出        stdout = standard output7 j& l- n; V, f" @
2      标准错误输出   stderr = standard error
0 I( v' h! G& I, C% M, u/ n9 ~4 V4 W
【用法】1 y8 |- q* E* p' s3 j
1.想要把make输出的全部信息,输出到某个文件中,最常见的办法就是:% v+ s4 i. m" x4 M5 i6 R7 n  f1 ?
make xxx > build_output.txt- A1 ~# z9 W  K& k! X3 x
此时默认情况是没有改变2=stderr的输出方式,还是屏幕,所以,如果有错误信息,还是可以在屏幕上看到的。9 {% O& T! u  m3 X" a/ s" ]+ |
2.只需要把make输出中的错误(及警告)信息输出到文件中ing,可以用:' P$ S- ]! w/ `* g& \' }
make xxx 2> build_output.txt
& B8 f8 e8 g& U0 H相应地,由于1=stdout没有变,还是屏幕,所以,那些命令执行时候输出的正常信息,还是会输出到屏幕上,你还是可以在屏幕上看到的。$ y9 r0 k* r! u4 Q# Q
3.只需要把make输出中的正常(非错误,非警告)的信息输出到文件中,可以用:
& Q: C( h2 v, g1 w' e) H* w$ }make xxx 1> build_output.txt" T1 x7 p  ^7 H2 ^
相应地,由于2=stderr没有变,还是屏幕,所以,那些命令执行时候输出的错误信息,还是会输出到屏幕上,你还是可以在屏幕上看到的。8 `( x6 _; {. s) i2 Y0 a
4.想要把正常输出信息和错误信息输出到分别的文件中,可以用:1 D) s) ?( z2 K
make xxx 1> build_output_normal.txt 2>build_output_error.txt; }2 h' _+ n8 q7 O  Y- {5 x2 m8 T9 F
即联合使用了1和2,正常信息和错误信息,都输出到对应文件中了。
6 ]( l- Q% Q7 l% `5. 所有的信息都输出到同一个文件中:
  G- a! F' ]; z2 @" Tmake xxx > build_output_all.txt 2>&1
8 H6 n% ?7 j* M7 I4 b其中的2>&1表示错误信息输出到&1中,而&1,指的是前面的那个文件:build_output_all.txt 。
/ n/ g( E) A4 g" {* Y. ^注意:上面所有的1,2等数字,后面紧跟着大于号'>' ,中间不能有空格
; D% I) K8 p4 G: X. j8 W

# O! B, \; S9 w2 _2 W& F

本版积分规则

QQ|一淘宝店|手机版|商店|一乐电子 ( 粤ICP备09076165号 ) 公安备案粤公网安备 44522102000183号

GMT+8, 2026-4-17 16:29 , Processed in 0.034173 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表