改变linux shell的输出效果
创始人
2024-06-14 08:30:53
0

文本终端的颜色可以使用“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 命令试试,或者直接重启机器。
 

【编辑推荐】

  1. Linux系统信息查看命令
  2. linux大扫盲:linux之Tar命令常用参数
  3. linux定时器的使用

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...