linux终端中输出彩色字体

本文介绍了如何在Linux终端中使用ANSI转义字符实现彩色字体输出,包括控制码、前景色、背景色、光标操作等,并提供了实例代码。

linux终端中输出彩色字体(C/SHELL)  

2010-12-1622:07:49|  分类:好玩的linux|字号 订阅

这 几天在用libvlc的时候看到它在terminal里面输出彩色字体觉得挺好玩的,以为是用ncurses实现的,后来一查原来用ANSI C的转义字符就可以实现,不过好现只在linux下有效吧,windows神马的貌似不行,把项目终端凌乱的输出信息整理了一下,关键字符也都用彩色显示,看上去舒服多了,写一下用法以防止以后忘了再去查。

先把控制码列出来(从网上搜来的):

 \033[0m               关闭所有属性
 \033[1m               设置高亮度
 \033[4m               下划线
 \033[5m               闪烁
 \033[7m               反显
 \033[8m               消隐
 \033[30m----\33[37m 设置前景色
 \033[40m----\33[47m 设置背景色
 \033[nA               光标上移n行
 \033[nB               光标下移n行
 \033[nC               光标右移n行
 \033[nD               光标左移n行
 \033[y;xH             设置光标位置
 \033[2J               清屏
 \033[K                清除从光标到行尾的内容
 \033[s                保存光标位置
 \033[u                恢复光标位置
 \033[?25l             隐藏光标
 \033[?25h             显示光标
背景色:40:黑 41:深红 42:绿43:黄色 44:蓝色45:紫色46:深绿47:白色
前景色:
30:黑 31:红 32:绿 33:黄 34:蓝色 35:紫色 36:深绿 37:白色

控制字符是打开某种样式,输出完成时需要再关闭样式才能使terminal恢复到原来状态,简单例子:

printf("\e[32m%s\e[0m\n", "hello world");

\033\e是一回事,使用\e会更简单一些,输出为绿色字体,如下图:

\e[32m为打开绿色前景色样式,\e[0m为关闭所有样式,如果未关闭,则所有输出字体均为绿色前景色,如下代码:

 printf("\e[32m%s\e[0m\n", "hello world");

输出效果如下:

绿色高亮代码如下:

printf("\e[32m\e[1m%s\e[0m\n", "hello world");

输出效果如下:

另外光标移动的控制码在输出类似于下载进度的信息时用得到。

在shell中也可以直接用echo输出,需要加-e选项打开转义字符解释,如输出高亮的绿色字体为:

echo -e "\e[32m\e[1mhello world\e[0m"

其它的我也没怎么看,觉得也就改变字体颜色和移动光标位置能用得到,觉得挺好玩的就写下来以后忘了查一查。

原创文章,转载请注明: 转载自basic coder

本文链接地址: http://basiccoder.com/output-colorful-words-in-terminal.html


<think>好的,用户想在Linux终端中以红色加粗字体显示文本。我需要先回忆一下如何在终端中使用转义码来控制文本样式。记得ANSI转义码可以实现颜色和样式,比如红色是\033[31m,加粗是\033[1m。但是需要正确组合这些代码,并且记得在最后重置样式,否则后续的文本也会保持这个样式。 首先,用户可能需要基本的示例,所以应该给出一个简单的echo命令,结合颜色和加粗的代码。例如,echo -e "\033[1;31m红色加粗文本\033[0m"。这里的-e选项是启用转义,1是加粗,31是红色,后面的\033[0m用于重置样式。需要确认转义码的顺序是否正确,是否需要用分号分隔不同的代码。 然后,可能用户会想用在脚本中,所以提供一个Bash脚本的例子会更好。可以展示如何定义变量来保存颜色代码,这样方便重复使用。比如定义RED_BOLD='\033[1;31m'和RESET='\033[0m',然后echo -e "${RED_BOLD}...${RESET}"。 另外,引用中的资料可能有帮助。例如,参考[^2]提到显示256色的脚本,但用户只需要基本的红色加粗,所以可能不需要用到256色。参考[^5]是关于终端个性化配置的,可能提到颜色设置,但具体需要看链接内容。不过用户问题相对基础,所以重点放在ANSI转义码的基本使用上。 还要注意不同终端可能对ANSI的支持不同,但大多数现代终端如GNOME Terminal或XTerm应该没问题。需要提醒用户这一点,避免兼容性问题。 另外,用户可能不知道如何在脚本中持续使用颜色,所以需要说明每个echo命令都要包含转义码,或者在脚本开头定义变量,方便后续调用。例如,在脚本里定义颜色变量,然后多次使用它们。 最后,确保代码示例正确无误,转义码的语法正确,比如使用-e参数,正确闭合转义序列。检查是否有拼写错误,比如\033是否正确,是否遗漏了引号或分号。</think>在Linux终端中,可以通过ANSI转义码实现红色加粗文本的显示。具体实现步骤如下: ### 方法一:直接使用转义序列 ```bash echo -e "\033[1;31m这是红色加粗文本\033[0m" ``` - `\033[1;31m` 表示开始红色加粗样式 - `\033[0m` 表示重置所有样式 - `-e` 参数用于解释转义字符 ### 方法二:脚本中定义颜色变量 ```bash #!/bin/bash RED_BOLD='\033[1;31m' RESET='\033[0m' echo -e "${RED_BOLD}这是红色加粗文本${RESET}" ``` ### 方法三:持续输出彩色文本 ```bash printf "\033[1;31m" echo "这段文本是红色加粗" echo "这段仍然是红色加粗" printf "\033[0m" echo "这段恢复默认颜色" ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值