当前位置:首页 >> 服务器

linux下make命令实现输出高亮的方法

前言

无论是在linux 还是在Unix环境 中,make都是一个非常重要的编译命令。最近在调试代码,make 输出信息的时候 error 、warning 等信息都是和普通信息一样白色打出来的,和普通信息一样很难区分。每次就要在茫茫多的输出信息中找那个小小的error 才看是哪一行出了问题,有时候运气不好还可能来来回回看好几遍才找到。

这里提供一种解决办法进行相关处理,让make输出的信息不再那么难找。

注意:gcc 在4.9 版本后已经有相关的颜色标记了,直接添加 -fdiagnostics-color=auto 参数即可

对象:公司的编译服务器(debian系,内核 3.2 )

一、改造服务器登录shell

服务器默认登录进去的shell是sh,但是我想使用bash,进行以下操作就可以了:

# chsh
Password: //输入你的密码就
Changing the login shell for jet
Enter the new value, or press ENTER for the default
 Login Shell [/bin/sh]:/bin/bash //回车

关闭shell 再次登录的时候检查是否切换到了bash.。

# echo $SHELL
/bin/bash

这就代表切换成功了。

检查下环境变量。貌似 .bashrc 没有自动执行:

# vim ~/.profile
//添加下面内容
source ~/.bashrc

再次关闭shell后登录,已经成功加载 .bashrc了。

二、真正动手处理make输出

这里处理make输出使用的是一个github上的小程序,地址如下:

github地址:https://github.com/chinaran/color-compile

本地下载地址:http://xiazai.jb51.net/201707/yuanma/color-compile(jb51.net).rar

下载好后放到编译服务器中,进行解压和编译:

unzip color_compile.zip
cd color_compile/
\make
cp color_compile out_color_info ~/program/

因为我没有root权限,所以只有曲线救国,将需要程序直接拷贝到我的program目录中,然后在修改 .bashrc

vim ~/.bashrc
//添加如下内容
export PATH=/home/jet/program/:$PATH
alias arm-openwrt-linux-gcc="color_compile arm-openwrt-linux-gcc"
alias arm-openwrt-linux-g++="color_compile arm-openwrt-linux-g++"
alias make="color_compile make"

然后在生效下环境变量:

source ~/.bashrc

去源代码目录中尝试下输出是否正确,如下图所示:

linux下make命令实现输出高亮的方法

原谅我大花脸的打马,主要是公司代码,分毫不敢乱搞事,总之,看到有颜色输出就对了。好了,大功告成。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。