shell 中echo带颜色输出

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

名称

echo - 显示一行文本

概要

echo [选项]... [字符串]...

描述

向标准输出输出字符串。

-n     不输出换行符

-e     打开反斜杠ESC转义

-E     取消反斜杠ESC转义 (默认)

--help 显示帮助

--version 显示版本

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

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

-e 用来开启echo中的转义

\e 或 \033 来输出Esc符号

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

\033[背景色;前景色;高亮m

恢复默认为 \e[0m

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

第一个参数:

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

绿, 47白(灰)

第二个参数:

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

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

第三个参数:

高亮是1,不高亮是0

第四个参数为m:

注意m后面紧跟字符串。

实例:

1,输出红色字体 abc,背景色不变,以下三个效果一样

echo -e ‘\033[0;31;1m abc \033[0m‘

echo -e "\e[1;31m     abc \e[0m"

echo -e "\e[0;31;1m   abc \e[0m"

2,输出***字体 abc,红色背景色,以下三个效果一样

echo -e ‘\033[41;33;1m abc \033[0m‘

echo -e "\e[41;33m     abc \e[0m"

echo -e "\e[41;33;1m   abc \e[0m"

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

echo -e "\e[1;30m skyapp exist \e[0m" //黑色

echo -e "\e[1;31m skyapp exist \e[0m" //红色

echo -e "\e[1;32m skyapp exist \e[0m" //绿色

echo -e "\e[1;33m skyapp exist \e[0m" //***

echo -e "\e[1;34m skyapp exist \e[0m" //蓝色

echo -e "\e[1;35m skyapp exist \e[0m" //紫色

echo -e "\e[1;36m skyapp exist \e[0m" //青绿

echo -e "\e[1;37m skyapp exist \e[0m" //白(灰)

嵌入式中用一下方法:

echo -e "^[[1;30m skyapp exist ^[[0m" //黑色

echo -e "^[[1;31m skyapp exist ^[[0m" //红色

echo -e "^[[1;32m skyapp exist ^[[0m" //绿色

echo -e "^[[1;33m skyapp exist ^[[0m" //***

echo -e "^[[1;34m skyapp exist ^[[0m" //蓝色

echo -e "^[[1;35m skyapp exist ^[[0m" //紫色

echo -e "^[[1;36m skyapp exist ^[[0m" //青绿

echo -e "^[[1;37m skyapp exist ^[[0m" //白(灰)

######################################

[[email protected] script]# cat yansh.sh

#!/bin/sh

echo -e ‘\033[0;31;1m abc \033[0m‘

echo -e "\e[1;31m abc \e[0m"

echo -e "\e[0;31;1m abc \e[0m"

###############################

echo -e ‘\033[41;33;1m abc \033[0m‘

echo -e "\e[41;33m     abc \e[0m"

echo -e "\e[41;33;1m   abc \e[0m"

###############################

echo -e "\e[1;30m skyapp exist \e[0m"

echo -e "\e[1;31m skyapp exist \e[0m"

echo -e "\e[1;32m skyapp exist \e[0m"

echo -e "\e[1;33m skyapp exist \e[0m"

echo -e "\e[1;34m skyapp exist \e[0m"

echo -e "\e[1;35m skyapp exist \e[0m"

echo -e "\e[1;36m skyapp exist \e[0m"

echo -e "\e[1;37m skyapp exist \e[0m"

注意:^[  的输入方法是ctrl+v键,再按ESC键

然后给几个比较强大的脚本函数

1 cfont

#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选项。

#####################################################################

#####################################################################

#####################################################################

#####################################################################

shell脚本中echo显示内容带颜色显示,echo显示带颜色,需要使用参数-e

格式如下:

echo -e "\033[字背景颜色;文字颜色m字符串\033[0m"

例如:

echo -e "\033[41;36m something here \033[0m"

其中41的位置代表底色, 36的位置是代表字的颜色

注:

  1、字背景颜色和文字颜色之间是英文的""

  2、文字颜色后面有个m

  3、字符串前后可以没有空格,如果有的话,输出也是同样有空格

  下面是相应的字和背景颜色,可以自己来尝试找出不同颜色搭配

echo -e "\033[31m 红色字 \033[0m"

echo -e "\033[34m ***字 \033[0m"

echo -e "\033[41;33m 红底黄字 \033[0m"

echo -e "\033[41;37m 红底白字 \033[0m"

字颜色:30—–37

  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"

字背景颜色范围:40—–47

  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"

最后面控制选项说明

  \33[0m 关闭所有属性

  \33[1m 设置高亮度

  \33[4m 下划线

  \33[5m 闪烁

  \33[7m 反显

  \33[8m 消隐

  \33[30m — \33[37m 设置前景色

  \33[40m — \33[47m 设置背景色

  \33[nA 光标上移n行

  \33[nB 光标下移n行

  \33[nC 光标右移n行

  \33[nD 光标左移n行

  \33[y;xH设置光标位置

  \33[2J 清屏

  \33[K 清除从光标到行尾的内容

  \33[s 保存光标位置

  \33[u 恢复光标位置

  \33[?25l 隐藏光标

  \33[?25h 显示光标

[[email protected] script]# cat yansh.sh

#/bin/sh

echo -e "\033[31m 红色字 \033[0m"

echo -e "\033[34m ***字 \033[0m"

echo -e "\033[41;33m 红底黄字 \033[0m"

echo -e "\033[41;37m 红底白字 \033[0m"

#----------------------------------------

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"

#----------------------------------------

时间: 2024-08-07 00:18:45

shell 中echo带颜色输出的相关文章

shell 带颜色输出

这里记录了shell脚本中可以带颜色输出的方式,使用了一下在python也适用. shell脚本中echo显示内容带颜色显示,echo显示带颜色,需要使用参数-e 格式如下: echo -e "\033[字背景颜色:文字颜色m字符串\033[0m" 例如: echo -e "\033[41;36m something here \033[0m" 其中41的位置代表底色, 36的位置是代表字的颜色 1.字背景颜色和文字颜色之间是英文的"" 2.文字

Linux的shell中echo改变输出显示样式

Linux的shell中echo改变输出显示样式 echo -e "\033[32;49;1m [DONE] \033[39;49;0m" 或echo -e "\e[32;49;1m [DONE] \033[39;49;0m" 输出结果 :[DONE] 文本终端的颜色可以使用“ANSI非常规字符序列”来生成.举例: echo -e "\033[44;37;5m ME \033[0m COOL" 以上命令设置背景成为蓝色,前景白色,闪烁光标,输出字

Python全栈__服务器与多客户端通信、UDP协议、pycharm打印带颜色输出、时间同步的机制

1.服务器与多客户端通信 1 import socket 2 # 创建tcp socket的套接字 3 sk = socket.socket() 4 # bind 5 sk.bind(('127.0.0.1',8080)) 6 # 监听 7 sk.listen(5) 8 # 等待连接 9 while 1: 10 conn, addr = sk.accept() 11 while 1: 12 msg_s = input('>>>') 13 conn.send(msg_s.encode('u

Python 入门 之 print带颜色输出

Python 入门 之 print带颜色输出 1.print带颜色输出书写格式: 开头部分: \033[显示方式; 前景色 ; 背景色 m 结尾部分: \033[0m 详解: 开头部分的三个参数: 显示方式 字体颜色 背景色 ? 这三个参数是可选参数,可以只写其中的某一个,另外由于表示三个参数不同含义的数值都是唯一的没有重复的,所以三个单数的书写顺序没有固定的要求,但建议按照默认的格式规范书写.对于结尾部分,其实也可以省略,但是为了书写规范,建议\033[开头,\033[0m结尾 字体颜色 背景

shell小技巧--带颜色的输出

shell作为一种脚本语言是每个Linux管理员必须要掌握的技能,有时可以为shell中的输出添加一些背景颜色,使得脚本整体上略带美观,下面我们利用echo来输出一段字符串,默认情况下,echo显示的字符串都是白色的 我们可以增加一些颜色 那么是怎么实现的呢?下面给出原脚本代码 可能看到那么多数字有点懵,给出具体格式就好了 "\033[前置字符颜色:背景颜色 XXXX\033[0m"              后面没有]了 最后的[0m 代表恢复原始颜色,如果不加上的话,就会是这样的效

shell脚本之echo命令颜色输出(二)

在shell脚本中一般echo命令也是我们经常用到的,而echo -e选项除了可以实现转移符来讲我们还可以进行对文本输出进行渲染,增加描述视觉效果 它输出的结构是这样的示例 "\033[32m xxx \033[0m" "\033[32m 输出内容 \033[0m" \033相当于颜色格式,这个是固定的,[32是绿色的意思 ,中间是输出的内容, [0m也就是结束的意思,可以这么理解,前面的32m可以更换,下面是颜色的格式,可以任意的输出想要的颜色 输出绿色,中间是输

如何在终端中打印带颜色的文本

echo命令 echo是终端下最常用的命令之一,用于在显示器上显示一段文字.一般格式为: echo [ -option ] 字符串 它有2个常用的选项,一个是-n,另一个是-e,下面的图就是 man echo 的结果: echo将字符串输出后是会自动换行的,如果不想换行就需要加上-n选项. -e的作用是强大的,想要输出有颜色的文字就不得不用借助于-e了.为什么要带颜色?看看下图就知道了 都是毛大头,快速辨别的方法就是看数字和颜色.如若看不到数字,单看颜色也能一眼辨别. -e:启用反斜线控制字符的

gcc/g++/make 编译信息带颜色输出

如果编译一个项目错误警告太多,非常不好找,所以非常希望输出信息可以带有颜色. 可是 gcc 4.9.0 之前的版本并不支持,很多情况下是不能替换编译器的,比如使用交叉编译器, 也可以使用 colorgcc,但我觉得不是特别好,需要配置,如果使用Makefile还要更改编译器设置, 所以我自己动手写了一个,效果还可以,源码在github上: https://github.com/chinaran/color-compile, 也可以去CSDN下载,点我. ---------------------

《LINUX SHELL脚本攻略》学习(1)--shell中echo的转义符

0.echo的命令项:(默认bash支持,csh不支持) -n     不输出换行符       -e     打开反斜杠ESC转义       -E     取消反斜杠ESC转义 (默认) 1.echo和printf都可以打印输出信息,区别在于echo默认是添加换行符(\n)的: echo -n "xxxx" ,也可以取消换行符 2.echo可以通过-e打开转义符,如输出颜色命令: #!/bin/bash # 先定义一些颜色:1是高亮 red='\e[0;31m'