bash下的颜色标记

shell终端是支持颜色输出的,如果显示不了颜色,可能是本地终端软件(SecureCRT,PuTTy之类)没设置好,或者不支持。

编译代码或者执行脚本时,哗啦哗啦输出一堆信息,如果能将出错信息以红色显示,成功信息以绿色显示,就能省很多眼力了。

如何在shell下输出带颜色的内容

shell下输出带颜色文字,有如下一些方法:

echo "^[[1;32;40mcompile^[[0m"

注意^[的输入使用ctrl+vctrl+[

echo -e "\E[1;32;40mcompile\E[0m"
echo -e "\033[1;32;40mcompile\033[0m"
# null
export LESS_TERMCAP_se=$'\E[0m'
# green
export LESS_TERMCAP_us=$'\E[01;32m'

这里的$符号表示后面的字符串需要按转义进行解析,就好像echo的-e参数。

echo ${LESS_TERMCAP_us}compile${LESS_TERMCAP_se}

shell下的各颜色罗列

从网上找了一下shell支持的文字颜色,以及一些特殊控制符号,收集如下:

字颜色范围:

echo -e "\033[30m 黑色字 \033[0m"
echo -e "\033[31m 红色字 \033[0m"
echo -e "\033[32m 绿色字 \033[0m"
echo -e "\033[33m 黄色字 \033[0m"
echo -e "\033[34m 蓝色字 \033[0m"
echo -e "\033[35m 紫色字 \033[0m"
echo -e "\033[36m 天蓝字 \033[0m"
echo -e "\033[37m 白色字 \033[0m"

字背景颜色范围:

echo -e "\033[40;37m 黑底白字 \033[0m"
echo -e "\033[41;37m 红底白字 \033[0m"
echo -e "\033[42;37m 绿底白字 \033[0m"
echo -e "\033[43;37m 黄底白字 \033[0m"
echo -e "\033[44;37m 蓝底白字 \033[0m"
echo -e "\033[45;37m 紫底白字 \033[0m"
echo -e "\033[46;37m 天蓝白字 \033[0m"
echo -e "\033[47;30m 白底黑字 \033[0m"

shell上颜色分布

面控制选项:

\033[0m 关闭所有属性 
\033[1m 设置高亮度 
\033[4m 下划线 
\033[5m 闪烁 
\033[7m 反显 
\033[8m 消隐 
\033[30m -- \33[37m 设置前景色 
\033[40m -- \33[47m 设置背景色 
\033[nA 光标上移n行 
\033[nB 光标下移n行 
\033[nC 光标右移n行 
\033[nD 光标左移n行 
\033[y;xH设置光标位置 
\033[2J 清屏 
\033[K 清除从光标到行尾的内容 
\033[s 保存光标位置 
\033[u 恢复光标位置 
\033[?25l 隐藏光标 
\033[?25h 显示光标

让Linux下的man增彩

在.bashrc里添加如下配置,在使用man命令时,可以使得丰富多彩的manpage页面,改善单调的码农生活, 做一个风骚的程序员:

# less color configure
# blue
export LESS_TERMCAP_mb=$'\E[01;34m'
# red
export LESS_TERMCAP_md=$'\E[01;31m'
# yellow
export LESS_TERMCAP_so=$'\E[01;44;33m'
# null
export LESS_TERMCAP_se=$'\E[0m'
# cyan
export LESS_TERMCAP_ue=$'\E[01;36m'
# magenta
export LESS_TERMCAP_me=$'\E[01;35m'
# green
export LESS_TERMCAP_us=$'\E[01;32m'
发表于 2014年10月17日 12:17   评论:0   阅读:3178  



回到顶部

首页 | 关于我 | 关于本站 | 站内留言 | rss
python logo   django logo   tornado logo