echo改变输出的颜色

这篇并不是严格意义上的原创,只是整合了网上其他人的资料,加上自己的理解。

echo命令介绍

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

echo输出颜色文本

格式: echo -e "\033[xx;xx;...;xxm" 
其中:-e  开启转义
           \033[  八进制033即退出键<ESC>的ASCII码,表示设置文本颜色
           xx;...;xx  xx是选择编码,不同的数值代表设置不同项,下面会介绍编码。编码的顺序没要求(网上好多的介绍的有误,认为背景颜色在前,文字颜色在后)。
           表示设置结束

一般的用法是:   echo -e "\033[背景颜色;文字颜色m字符串\033[0m"
意思是:用设置的背景颜色和文字颜色打印字符串,然后再把背景色和文字颜色恢复默认设置,0表示使用默认设置。

可以选择的编码如下所示(这些颜色是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>键产生的。(不建议使用这种方法)。

参考:
https://blog.csdn.net/qualcent/article/details/7106483
https://www.cnblogs.com/lr-ting/archive/2013/02/28/2936792.html

猜你喜欢

转载自blog.csdn.net/Colorful_lights/article/details/81665863