Linux输入不同颜色字体

echo -e "\033[32;49;1m [DONE] \033[39;49;0m"
输出结果     :
[DONE]
把知识延伸下:(以下转载)
###########################
文本终端的颜色可以使用“ANSI非常规字符序列”来生成。举例:

  echo -e "\033[44;37;5m ME \033[0m COOL"

以上命令设置背景成为蓝色,前景白色,闪烁光标,输出字符“ME”,然后重新设置屏幕到缺省设置,输出字符 “COOL”。“e”是命令 echo 的一个可选项,它用于激活特殊字符的解析器。“\033”引导非常规字符序列。“m”意味着设置属性然后结束非常规字符序列,这个例子里真正有效的字符是 “44;37;5” 和“0”。

修改“44;37;5”可以生成不同颜色的组合,数值和编码的前后顺序没有关系。可以选择的编码如下所示:

编码    颜色/动作 
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

#######################
RedHat的字体和背景颜色的改变方法:
命令:
PS1="[\e[32;1m\u@\h \W]\\$" 
或 
export PS1="[\e[32;1m\u@\h \W]\\$" 两者的区别请查看环境变量的相关资料
解释:
\e[32;1m:这就是控制字体和背景颜色的转义字符,30~37是字体颜色、40~47是背景颜色
例子中的32;1m数字的位置是可以对调的如\e[1;32m,如果是在X环境下可以更换一下1的范围0~10,可能有的没用处:0或者不写(\e [0;32m或\e[;32m)显示浅颜色,1:显示高亮 4:加下划线.....如果改后的效果不好,但是又还原不了,那就不写m前面的数字,如\e[32;m,或者直接注销再登陆
\u \h \W:这是一些转义字符,下面详细解释:
\d :代表日期,格式为weekday month date,例如:"Mon Aug 1"
\H :完整的主机名称。例如:我的机器名称为:fc4.linux,则这个名称就是fc4.linux
\h :仅取主机的第一个名字,如上例,则为fc4,.linux则被省略
\t :显示时间为24小时格式,如:HH:MM:SS
\T :显示时间为12小时格式
\A :显示时间为24小时格式:HH:MM
\u :当前用户的账号名称
\v :BASH的版本信息
\w :完整的工作目录名称。家目录会以 ~代替
\W :利用basename取得工作目录名称,所以只会列出最后一个目录
\# :下达的第几个命令
\$ :提示字符,如果是root时,提示符为:# ,普通用户则为:$
\n :新建一行
字体并不局限于一个颜色,可以有多个颜色:
PS1="[\e[32;1m\u@\e[35;1m\h \e[31;1m\W]\\$"
以上两个命令在注销后再登陆就失效了,用下面方法使其永久生效:
vi /etc/profile 
在“export PATH .....”下面添加一行:export PS1="[\e[32;1m\u@\h \W]\\$"
注销再登陆,就成功了,如果没生效,使用source /etc/profile 命令试试,或者直接重启机器。
<think>我们已知用户引用了站内关于shell脚本的资料,其中引用[4]提到了PS1变量设置颜色,但用户现在询问的是read命令输出字体颜色的设置方法。注意:read命令本身用于从标准输入读取一行数据,通常不用于输出。但是,用户可能是指在使用read命令时,如何让提示信息(通常用echo输出)显示颜色,或者是在读取输入后,对输入的内容进行颜色设置。在shell脚本中,我们通常使用ANSI转义码来设置文本颜色。一般的格式为:\e[颜色值m#使用\e来代表ESC字符或者\033[颜色值m#使用\033(八进制的ESC)例如:红色:\e[31m绿色:\e[32m重置颜色:\e[0m但是,read命令的提示符可以通过-p选项来指定,所以我们可以在-p选项的字符串中嵌入颜色代码。另外,我们也可以先使用echo输出带颜色的提示信息,然后使用read命令读取输入(不带提示符)。但需要注意的是,在echo中使用颜色时,需要加上-e选项来解析转义字符。参考引用[4]中设置PS1颜色的方法,我们可以将其应用到read命令的提示字符串中。具体方法:方法1:在read命令的-p选项中使用转义序列read-p$'\e[31m请输入你的姓名:\e[0m'name这里使用$'\e[31m'来生成红色,然后在输入后重置颜色(\e[0m)。注意:整个提示字符串要用$'...'的形式,这样bash才会解释转义字符。方法2:使用echo输出带颜色的提示信息,然后使用readecho-e"\e[31m请输入你的姓名:\e[0m"readname但是,第二种方法中,echo输出的提示信息后,read会另起一行等待输入,而-p选项可以让提示信息输入在同一行。因此,推荐使用第一种方法,这样输入的位置紧跟在提示信息后面。另外,要注意:在脚本中使用时,需要确保运行脚本的终端支持ANSI转义序列。示例脚本:#!/bin/bash#使用read的-p选项设置颜色read-p$'\e[31m请输入你的姓名:\e[0m'nameecho"你好,$name!"#使用echo然后read(不在同一行)echo-e"\e[32m请输入你的年龄:\e[0m"readageecho"年龄:$age"另外,如果我们想要在用户输入的时候改变输入文本的颜色,这个通常是不行的,因为输入文本的颜色由终端设置决定。但是,我们可以在用户输入后,用带颜色的方式输出用户输入的内容。所以,针对用户的问题“read命令输出的字体颜色”,如果是指输入时文本的颜色,那么一般是由终端设置决定,我们无法在read执行时改变输入文本的颜色(但可以改变提示符的颜色)。如果是指用户输入后,显示用户输入的内容,那么我们可以使用echo输出时加上颜色。总结:我们可以设置read命令提示信息的颜色,但不能直接设置输入文本的颜色(除非使用终端设置,但那样是全局的)。我们可以用颜色输出用户输入的内容。因此,回答如下:</think> 在 Linux 中设置 `read` 命令提示信息的字体颜色,可以通过 ANSI 转义码实现。以下是两种常用方法: ### 方法 1:直接在 `read -p` 中使用转义序列(推荐) ```bash read -p $'\e[31m请输入用户名: \e[0m' username ``` **说明**: - `\e[31m` 设置红色(31=红,32=绿,33=黄,34=蓝) - `\e[0m` 重置颜色 - `$'...'` 语法允许解析转义字符 - 输入值存储在 `username` 变量中 ### 方法 2:结合 `echo -e` `read` ```bash echo -e "\e[35m请输入密码: \e[0m\c" read -s password ``` **说明**: - `echo -e` 启用转义字符解释 - `\e[35m` 设置紫色文字 - `\c` 禁止换行保持输入在同一行 - `-s` 隐藏敏感输入(如密码) ### 常用颜色代码 | 颜色 | 前景色 | 背景色 | |------------|--------|--------| | **黑色** | \e[30m | \e[40m | | **红色** | \e[31m | \e[41m | | **绿色** | \e[32m | \e[42m | | **黄色** | \e[33m | \e[43m | | **蓝色** | \e[34m | \e[44m | | **紫色** | \e[35m | \e[45m | | **青色** | \e[36m | \e[46m | | **白色** | \e[37m | \e[47m | | **重置** | \e[0m | | > 注意:某些旧终端可能不支持彩色显示。实际效果取决于终端模拟器配置(如支持彩色显示的 PuTTY/Xshell/iTerm 等)[^4]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值