linux BASH shell下设置字体及背景颜色

 更新时间:2014年04月09日 15:42:30   作者:  
这篇文章主要介绍了linux BASH shell下设置字体及背景颜色的方法,需要的朋友可以参考下
BASH shell下设置字体及背景颜色

echo -e "\e[31mtest\e[41m"

\e[30m 将字符的显示颜色改为黑色
\e[31m 将字符的显示颜色改为红色
\e[32m 将字符的显示颜色改为绿色
\e[33m 将字符的显示颜色改为淡红色
\e[34m 将字符的显示颜色改为蓝色
\e[35m 将字符的显示颜色改为紫色
\e[36m 将字符的显示颜色改为淡蓝色
\e[37m 将字符的显示颜色改为灰色

\e[40m -- \e[47m 设置背景色
\e[40m 将背景色设置为黑色
\e[41m 将背景色设置为红色
\e[42m 将背景色设置为绿色
\e[43m 将背景色设置为淡红色
\e[44m 将背景色设置为蓝色
\e[45m 将背景色设置为紫色
\e[46m 将背景色设置为淡蓝色
\e[47m 将背景色设置为灰色

设置Linux shell的输出效果[字体颜色,样式等]

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 命令试试,或者直接重启机器。

相关文章

  • Linux中Shell脚本判断文件/文件夹是否存在方法

    Linux中Shell脚本判断文件/文件夹是否存在方法

    很多时候我们在做运维的时候,我们需要做一些自动化,这时我们就需要写一些shell脚本,既然要用到shell脚本,就免不了文件操作,这篇文章主要给大家介绍了关于Linux中Shell脚本判断文件/文件夹是否存在的相关资料,需要的朋友可以参考下
    2023-06-06
  • Shell脚本IF条件判断和判断条件总结

    Shell脚本IF条件判断和判断条件总结

    这篇文章主要介绍了Shell脚本IF条件判断和判断条件总结,本文先是给出了IF条件判断的语法,然后给出了常用的判断条件总结,需要的朋友可以参考下
    2014-10-10
  • Shell中去除字符串前后空格的方法

    Shell中去除字符串前后空格的方法

    今天小编就为大家分享一篇关于Shell中去除字符串前后空格的方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03
  • Shell脚本制作的终端会话回放功能脚本分享

    Shell脚本制作的终端会话回放功能脚本分享

    这篇文章主要介绍了Shell脚本制作的终端会话回放功能脚本分享,本文分两个文件,Record.sh是用来记录你所执行的命令和屏幕的输出的,而Replay.sh是用来回放Record.sh所录制的内容的,需要的朋友可以参考下
    2014-11-11
  • 通过Spring Shell 开发 Java 命令行应用

    通过Spring Shell 开发 Java 命令行应用

    这篇文章主要介绍了通过Spring Shell 开发 Java 命令行应用的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-11-11
  • Shell+Linux命令实现日志分析

    Shell+Linux命令实现日志分析

    这篇文章主要介绍了Shell+Linux命令实现日志分析,本文给出了结合grep命令、awk命令等实现了几个常用的日志分析统计长命令,需要的朋友可以参考下
    2014-08-08
  • awk区间取值的例子

    awk区间取值的例子

    awk区间取值的例子,匹配某一区间内的值,有需要的朋友不妨参考下
    2013-02-02
  • Linux命令学习之用户切换su,sudo命令详解

    Linux命令学习之用户切换su,sudo命令详解

    在操作过程中需要使用特定的用户进行特定的操作,多数情况下是因为权限,比如要修改一个文件,只有root用户有权限修改,那么就要切换到root用户下进行操作,本文给大家讲解Linux命令学习之用户切换su,sudo命令,感兴趣的朋友跟随小编一起看看吧
    2023-02-02
  • 查看linux中某个端口(port)是否被占用的方法

    查看linux中某个端口(port)是否被占用的方法

    下面小编就为大家带来一篇查看linux中某个端口(port)是否被占用的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05
  • Shell脚本配合iptables屏蔽来自某个国家的IP访问

    Shell脚本配合iptables屏蔽来自某个国家的IP访问

    这篇文章主要介绍了Shell脚本配合iptables屏蔽来自某个国家的IP访问,本文利用IPdeny的IP数据,然后用Shell脚本导入iptables实现屏蔽IP访问,需要的朋友可以参考下
    2015-04-04

最新评论