本文链接:https://blog.csdn.net/qualcent/article/details/7106483
 
############################################################
# echo命令介绍
功能说明:显示文字
语   法:echo [-ne][字符串] / echo [--help][--version]
补充说明:echo会将输入的字符串送往标准输出。输出的字符串间以空白字符隔开, 并在最后加上换行号。
参   数:
    -n 不要在最后自动换行
    -e 打开反斜杠ESC转义。若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出:
           \a 发出警告声;
           \b 删除前一个字符;
           \c 最后不加上换行符号;
           \f 换行但光标仍旧停留在原来的位置;
           \n 换行且光标移至行首;
           \r 光标移至行首,但不换行;
           \t 插入tab;
           \v 与\f相同;
           \\ 插入\字符;
           \nnn 插入nnn(八进制)所代表的ASCII字符;
    -E 取消反斜杠ESC转义 (默认)
    -help 显示帮助
    -version 显示版本信息

############################################################
# echo输出颜色文本
echo命令改变样式,以输出不同颜色的文本,必须有 -e 选项(开启echo中的转义)。
文本终端的显示颜色可以使用“ANSI非常规字符序列”来生成。
例如:echo -e "\033[44;37;5m ME\033[0m COOL"
解释:"\033[44;37;5m ME "设置背景为蓝色,前景为白色,闪烁光标,输出字符“ME”;
      "\033[0m COOL"重新设置屏幕到缺省设置,输出字符 “COOL”。
      "e"是命令echo的一个可选项,它用于激活特殊字符的解析器。"\033"引导非常规字符序列(即"\033["表示终端转义字符开始,"\033"即退出键<ESC>的ASCII码)。"m"意味着设置属性然后结束非常规字符序列,这个例子里真正有效的字符是"44;37;5"和"0"。修改"44;37;5"可以生成不同颜色的组合,数值和编码的前后顺序没有关系。
   
    可以选择的编码如下所示(这些颜色是ANSI标准颜色):
          编码          颜色/动作
          0            重新设置属性到缺省设置
          1            设置粗体
          2            设置一半亮度(模拟彩色显示器的颜色)
          4            设置下划线(模拟彩色显示器的颜色)
          5            设置闪烁
          7            设置反向图象
          22           设置一般密度
          24           关闭下划线
          25           关闭闪烁
          27           关闭反向图象
          30           设置黑色前景
          31           设置红色前景
          32           设置绿色前景
          33           设置黄色前景
          34           设置蓝色前景
          35           设置紫色前景
          36           设置青色前景
          37           设置白色(灰色)前景
          38           在缺省的前景颜色上设置下划线
          39           在缺省的前景颜色上关闭下划线
          40           设置黑色背景
          41           设置红色背景
          42           设置绿色背景
          43           设置黄色背景
          44           设置蓝色背景
          45           设置紫色背景
          46           设置青色背景
          47           设置白色(灰色)背景
          49           设置缺省黑色背景
    其他有趣的代码还有:
          \033[2J      清除屏幕
          \033[0q      关闭所有的键盘指示灯
          \033[1q      设置"滚动锁定"指示灯(Scroll Lock)
          \033[2q      设置"数值锁定"指示灯(Num Lock)
          \033[3q      设置"大写锁定"指示灯(Caps Lock)
          \033[15:40H   把关闭移动到第15行,40列
          \007        发蜂鸣生beep

一些说明:
    前景颜色各数字是对应背景颜色减去10。
    结束非常规字符序列的"m"要紧跟前面的数字,不能有空格
    命令也可以写成echo -e "^[[44;37;5m ME \033[0m COOL",其中的"^["是先按Ctrl-V,然后再按<ESC>键产生的

输出带有颜色的文本,echo命令必须带有选项"-e"。

这种方法只能暂时改变echo命令输出的文本的样式,logout后就恢复为默认。修改.bashrc文件,可以修改默认的显示样式。
:在.bashrc文件的最后面追加一行:echo -e '\033[47;30m'。

#-----------------------------------------------------------
# 建议:在shell文件的最前面,将echo命令的输出样式定义成变量。
    # define echo terminal style
    # color: 0~6 --> black, red, green, yellow, blue, purple, cyan, grey
    export ECHO_STYLE_00="\033[0m"        # default style(black background, white foreground)
    export ECHO_STYLE_01="\033[41;33;1m"  # red background, yellow foregound bold
    echo -e "${ECHO_STYLE_01}echo command terminal style example${ECHO_STYLE_00}"

############################################################
# echo命令的其他用法
1).光标跳到第60列,然后显示一个OK。
    格式:echo -en '\033[60G' && echo OK
    说明:"\033["是终端转义字符开始,60G是命令。
————————————————
版权声明:本文为CSDN博主「QC」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qualcent/article/details/7106483

echo -ne <ctrl+v><ESC>[?25l&<60;&<60;&<60; 隐藏光标
echo -ne <ctrl+v><ESC>[?25h&<60; 显示光标
l,h为字母, <ctrl+v>是按下ctrl键不放,然后按下V, <ESC>就是按一下键盘上的ESC键
在终端回显的情况如下:
echo -ne&<60; ^[[?25l
echo -ne&<60; ^[[?25h
其中^[是用<ctrl+v><ESC>得到的,直接输入^[无效

超级终端里的光标经常意外消失,这是个好办法让它恢复.

更简单一点的方法
echo -e "\033[?25l"  隐藏光标
echo -e "\033[?25h" 显示光标
其实\033(八进制,相当于10进制的27)就是<ctrl+v><ESC>所输入字符的值.

echo -ne "\33[32m" 可以将字符的显示颜色改为绿色 
echo -ne "\33[3;1H" 可以将光标移到第3行第1列处 
具体的摘抄一些如下: 
\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 显示光标

字背景颜色范围:40----49 
40:黑 
41:深红 
42:绿 
43:黄色 
44:蓝色 
45:紫色 
46:深绿 
47:白色 
字颜色:30-----------39 
30:黑 
31:红 
32:绿 
33:黄 
34:蓝色 
35:紫色 
36:深绿 
37:白色

不要忘了-e   和"",否则是起不了作用的.

二、使用linux c的printf函数实现

printf("\033[?25h");  //显示光标

printf("\033[?25l");  //隐藏光标

echo如何输出带颜色的文本的更多相关文章

  1. Bash echo输出带颜色和背景的文本

    Bash echo输出带颜色和背景的文本 1.先上效果图 2.bash代码 #!/bin/bash #************************************************* ...

  2. 让shell脚本中的echo输出带颜色

    转载自:http://www.linuxidc.com/Linux/2014-12/110463.htm 让echo输出带颜色的方法有两种 1.在shell脚本中定义颜色变量,使用echo -e调用变 ...

  3. Python3使用Print输出带颜色字体

    Phton3使用print输出带颜色的彩色字体 实现过程:       终端的字符颜色是用转义序列控制的,是文本模式下的系统显示功能,和具体的语言无关.       转义序列是以ESC开头,即用\03 ...

  4. (转)shell脚本输出带颜色字体

    shell脚本输出带颜色字体 原文:http://blog.csdn.net/andylauren/article/details/60873400 输出特效格式控制:\033[0m  关闭所有属性  ...

  5. php实现命令行里输出带颜色文字

    今天执行composer的时候看到命令窗口出现的提示里面有的关键性部分带有颜色,于是很好奇研究了一下,在这里记录下来 其实在命令行输出带颜色字体主要是使用的 ANSI 转义字符实现的,我们先看个例子: ...

  6. php 扫描url死链接 \033[31m ANSI Linux终端输出带颜色

    * 从Packagist上搜索需要的包 https://packagist.org/ * 通过composer下载依赖包 composer require guzzlehttp/guzzlecompo ...

  7. [转]输出带颜色的shell

    格式: echo -e "\033[字背景颜色;字体颜色m字符串\033[0m" 例如: echo -e "\033[41;36m something here \033 ...

  8. 学习笔记 css3--选择器&新增颜色模式&文本相关

    Css3 选择器 --属性选择器 E[attr]只使用属性名,但没有确定任何属性值,E[attr="value"]指定属性名,并指定了该属性的属性值E[attr~="va ...

  9. iOS NSString 文本不同的颜色 标题+文本字体大小 行间距/删除不需要的字符 /以及自适应高度

    #import <Foundation/Foundation.h> @interface TextsForRow : NSObject @property(nonatomic,copy)N ...

随机推荐

  1. Java-手动搭建SSH(maven版)

    创建maven项目 把maven项目变为动态网站,步骤如下: 项目结构图如下: 开始搭建spring+springmvc+Hibernate项目 环境版本就不多说了,直接贴出pom.xml文件 < ...

  2. Java子类方法签名相同,返回类型不同

    2019年7月27日15:04:20 Java子类覆盖父类的方法,方法名字相同,参数列表相同,返回类型不同的情况: 如果子类方法返回类型是父类方法返回类型的子类,这是没问题的,否则报错. 在JAVA ...

  3. MOOC C++笔记(六):多态

    多态 虚函数 在类的定义中,前面有virtual关键字的成员函数就是虚函数. virtual关键字只用在类定义里的函数声明中,写函数体时不用. 构造函数和静态成员函数不能是虚函数. 多态的表现形式 基 ...

  4. JS前端加密JAVA后端解密详解

    最近有一个加解密的需求,其实没有什么难度,但是实践过程中踩了很多坑,把踩坑过程分享出来. 1.前端JS加密 /** * 加密(需要先加载aes.min.js文件) * @param word * @r ...

  5. python学习之os模块

    1 window下的路径分隔符和mac上的一样吗 在win下用\做路径分隔符,mac里用/ 2.如何查看当前工作目录 import os os.getcwd() 3.如何切换当前工作目录 import ...

  6. SpringBoot加载配置文件(@PropertySource@importSource@Value)

    情景描述 最近新搭建了一个项目,从Spring迁到了Springboot,为了兼容Spring加载配置文件的风格,所以还想把PropertyPlaceholderConfigurer放在.xml文件里 ...

  7. 软工个人项目———WC.exe(Java实现)

    一.github地址 https://github.com/hhw-15521301615/hello-world 二.PSP表格 PSP2.1 Personal Software Process S ...

  8. day 20 作业

    作业 1.下面这段代码的输出结果将是什么?请解释. class Parent(object): x = 1 class Child1(Parent): pass class Child2(Parent ...

  9. 【转】高性能网络编程4--TCP连接的关闭

    TCP连接的关闭有两个方法close和shutdown,这篇文章将尽量精简的说明它们分别做了些什么. 为方便阅读,我们可以带着以下5个问题来阅读本文: 1.当socket被多进程或者多线程共享时,关闭 ...

  10. 如何进行SQL注入攻击?

    1.数字注入 2.字符串注入 3. #后边全部为注释,字符串拼装后绕过密码验证. 4. 同样绕过密码验证