Linux Make使用的重定向

Linux Make使用的重定向

Linux中,脚本语言环境中,即你用make xxx即其他一些普通linux命令,比如ls,find等,不同的数字,代表不同的含义:

数字含义 标准叫法 
 0 标准输入  stdin = standard input 
 1 标准输出 stdout = standard output
 2 标准错误输出 stderr = standard error
 

 

而系统默认的stdin,stdout,stderr,都是屏幕,所以,当你执行命令,比如make,后,所输出的信息,都是可以在屏幕上看到的。

所以,想要将对应信息输出到某个文件中,就用对应的数字加上重定向符号’>’,实现将这些信息,重新定向到对应的文件中,即可。

(上面这两句,也是之前太多的人来解释,但是没有说明白的地方。)

下面以make命令为例来说明,如何把对应的信息,输出到对应的文件中:

1.想要把make输出的全部信息,输出到某个文件中,最常见的办法就是:

make xxx > build_output.txt

此时默认情况是没有改变2=stderr的输出方式,还是屏幕,所以,如果有错误信息,还是可以在屏幕上看到的。

2.只需要把make输出中的错误(及警告)信息输出到文件中ing,可以用:

make xxx 2> build_output.txt

相应地,由于1=stdout没有变,还是屏幕,所以,那些命令执行时候输出的正常信息,还是会输出到屏幕上,你还是可以在屏幕上看到的。

3.只需要把make输出中的正常(非错误,非警告)的信息输出到文件中,可以用:

make xxx 1> build_output.txt

相应地,由于2=stderr没有变,还是屏幕,所以,那些命令执行时候输出的错误信息,还是会输出到屏幕上,你还是可以在屏幕上看到的。

4.想要把正常输出信息和错误信息输出到分别的文件中,可以用:

make xxx 1> build_output_normal.txt 2>build_output_error.txt

即联合使用了1和2,正常信息和错误信息,都输出到对应文件中了。

5. 所有的信息都输出到同一个文件中:

make xxx > build_output_all.txt 2>&1

其中的2>&1表示错误信息输出到&1中,而&1,指的是前面的那个文件:build_output_all.txt 。

注意:上面所有的1,2等数字,后面紧跟着大于号’>’ ,中间不能有空格。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值