echo输出彩色字符

用bash的echo -e命令输出彩色字符串


reference:  http://hi.baidu.com/chendeping/item/5f203562a97b8a176995e642


-e选项会激活反划开头(\)转义序列的解释。

我用EBNF形式来表达这种彩色模式(cs)

cs ::= "\e["cp{;cp}"m"

cp ::= d [d]

d ::= "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9"


上面的\e可以替换为\033或者\x1b,这三者的转义完全等价。


下面是颜色属性(cp)的说明:

可选编码:
  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 设置缺省黑色背景


举例:

显示棕底红字带下划线的粗体字,内容是Hello, world.,显示完成后恢复缺省设置:

echo -e "\e[31;43;1;4mHello, world.\e[0m"
要在Shell中使用echo打印彩色字体和彩色背景,可以使用转义序列来实现。转义序列是一种特殊的控制指令,用于告诉Shell执行特定的步骤。 具体方法如下所示: 1. 首先,定义echo命令的输出样式为变量。可以使用不同的颜色代码来定义不同的样式。比如使用"\033[41;33;1m"来定义一个具有红色背景、黄色前景和加粗效果的样式。 2. 然后,使用echo命令来输出想要展示的内容。在输出字符串前后使用转义序列,即"\033[字背景颜色;字体颜色m"和"\033[0m"。其中,字背景颜色和字体颜色可以选择不同的颜色代码。 下面是一个示例: ``` # 定义echo命令的输出样式 export ECHO_STYLE_01="\033<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Shell命令:echo介绍,echo如何输出带颜色的文本](https://blog.youkuaiyun.com/qualcent/article/details/7106483)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [shell中使用echo打印彩色字体和彩色背景的方法](https://download.youkuaiyun.com/download/weixin_38637983/12846501)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [shell脚本里使用echo输出颜色](https://blog.youkuaiyun.com/qq_39565646/article/details/89881554)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值