文档章节

在shell中使用echo命令输出带颜色的文本

开源中国首席劝架师
 开源中国首席劝架师
发布于 2016/11/01 19:57
字数 430
阅读 150
收藏 2

#程序员薪资揭榜#你做程序员几年了?月薪多少?发量还在么?>>>

首先熟悉一下echo命令

名称
        echo - 显示一行文本
概要
        echo [选项]... [字符串]...
描述
        向标准输出输出字符串。
        -n    不输出换行符
        -e    打开反斜杠ESC转义
        -E    取消反斜杠ESC转义 (默认)
        --help    显示帮助
        --version    显示版本

注意: 要输出颜色必须有 -e 选项。

然后说一下重点:ANSI控制码在输出有颜色文本方面应用。

-e 用来开启echo中的转义

\e 或 \033 来输出Esc符号

设置颜色的格式: \e[背景色;前景色;高亮m

恢复默认为 \e[0m

其中:

背景色可以被以下数字替换

0 透明(使用终端颜色), 40 黑, 41 红, 42 绿, 43 黄, 44 蓝 45 紫, 46 青绿, 47白(灰)

前景色(也就是文本的颜色)可以被以下数字替换

30 黑 31 红, 32 绿, 33 黄, 34 蓝, 35 紫, 36 青绿, 37 白(灰)

高亮是1,不高亮是0

注意m后面紧跟字符串。

比如:

lonelycorn@untbook:~$ echo -e '\033[0;33;1mabc\033[0m'

输出

<div style="color:yellow">abc</div>

给个比较强大的脚本函数

#by zuoyang http://hi.baidu.com/test/
cfont()
{
while (($#!=0))
do
        case $1 in
                -b)
                        echo -ne " ";
                ;;
                -t)
                        echo -ne "\t";
                ;;
                -n)     echo -ne "\n";
                ;;
                -black)
                        echo -ne "\033[30m";
                ;;
                -red)
                        echo -ne "\033[31m";
                ;;
                -green)
                        echo -ne "\033[32m";
                ;;
                -yellow)
                        echo -ne "\033[33m";
                ;;
                -blue)
                        echo -ne "\033[34m";
                ;;
                -purple)
                        echo -ne "\033[35m";
                ;;
                -cyan)
                        echo -ne "\033[36m";
                ;;
                -white|-gray) echo -ne "\033[37m";
                ;;
                -reset)
                        echo -ne "\033[0m";
                ;;
                -h|-help|--help)
                        echo "Usage: cfont -color1 message1 -color2 message2 ...";
                        echo "eg:       cfont -red [ -blue message1 message2 -red ]";
                ;;
                *)
                echo -ne "$1"
                ;;
        esac
        shift
done
}

使用方法是

cfont -颜色 字符串...

如:

cfont -cyan abc

注意使用时要换行需要加入 -n 选项。想要恢复默认的要加入 -reset选项。

本文转载自:http://blog.chinaunix.net/uid-20204919-id-1972114.html

开源中国首席劝架师

开源中国首席劝架师

粉丝 57
博文 21
码字总数 20303
作品 4
广州
高级程序员
私信 提问
加载中

评论(0)

Linux终端彩色显示输出结果

转义序列符 为了添加个人风格的彩色提示符,我们需要使用转义序列符。一个转义序列符是一个控制命令,它控制Shell执行某个特定的动作。一个转义序列符通常以 ESC开始,在Shell中被记录为"^[...

osc_v0vk38s3
2019/12/20
0
0
如何在Linux终端里用Shell和C输出带颜色的文字(转)

原文:http://blog.csdn.net/acmee/article/details/6613060 我们知道,使用ls命令列出文件列表时,不同的文件类型会用不同的颜色显示。那么如何实现这样带颜色的文本输出呢?答案并不复杂,...

acmfly
2013/08/03
207
0
linux一搏(打印)---高手勿喷

linux中打印有echo和printf 一、echo echo是用于终端打印的基本命令,默认情况下,echo会在每次调用后添加一个换行符。如果要忽略换行,可以echo后面,字符窜之前加上"-n". echo后面打印的内...

益达先生
2013/02/05
137
0
echo带颜色文本, shell中单引号和双引号区别, [], 反引号及位置参数使用

echo -e "e[1;31m 显示的内容 e[0m"   e[1;31m # 取值30-37为字体色, 40-47为背景色   e[0m # 用来恢复前面设置的字体颜色, 如无, 则后续所有的字体颜色会被修改 2. shell中单引号和双引...

osc_1jvmu893
2019/12/30
2
0
Linux Shell脚本攻略 读书笔记

Linux Shell脚本攻略 读书笔记 这是一本小书,总共253页,但内容却很丰富,书中的示例小巧而实用,对我这样总是在shell门前徘徊的人来说真是如获至宝; 最有价值的当属文本处理,对这块我单独...

小股儿
2014/01/06
161
0

没有更多内容

加载失败,请刷新页面

加载更多

华为pat地址转换,以及内网web服务器发布

实验名称:华为pat地址转换,以及内网web服务器发布 实验拓扑图: 3. 实验目的 : 1.使内网通过pat转化出去上外网 2.使用静态pat做端口映射,发布web服务器 3.配置交换机远程登录 4. 地址规划 cl...

osc_2ch77h9m
9分钟前
7
0
php优化与模块

缓存 xcache eaccelerator zendopcache pdo_mysql扩展 memcache扩展 memcached扩展 mongo扩展 imagemagick imagick扩展...

osc_tb68dlqx
11分钟前
15
0
ATFX投资者教育活动凸显优势,助力客户有效应对市场波动

ATFX动态:新冠肺炎疫情全球传播期间,各国纷纷颁布“居家令”等措施,要求员工必须待在家里,因此也给各行各业带来了不同程度的影响。为了配合各国颁布的防疫措施,ATFX全球办事处依据各地的...

ATFX
11分钟前
10
0
ospf的工作原理

#谈起ospf(开放式最短路径优先),首先它是一种链路状态路由协议 它的工作过程主要有以下几点 : # 建立邻居表 hello : 仅仅使用hello报文,发现邻居,用于邻居的建立,维护,拆除 ospf 路由仅仅...

osc_4dgu16li
12分钟前
16
0
mysql5.7.20安装

rpm -qa | grep mysql yum -y install make gcc-c++ cmake bison-devel ncurses-devel cd /root wget http://www.sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz m......

osc_pl4ni83h
13分钟前
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部