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

]shell脚本颜色打印输出

2014-12-14阅读128 评论0

#!/bin/bash  
# 先定义一些颜色:
  
red='\e[0;41m' # 红色  
RED='\e[1;31m' 
green='\e[0;32m' # 绿色  
GREEN='\e[1;32m' 
yellow='\e[5;43m' # 黄色  
YELLOW='\e[1;33m' 
blue='\e[0;34m' # 蓝色  
BLUE='\e[1;34m' 
purple='\e[0;35m' # 紫色  
PURPLE='\e[1;35m' 
cyan='\e[4;36m' # 蓝绿色  
CYAN='\e[1;36m' 
WHITE='\e[1;37m' # 白色
  
NC='\e[0m' # 没有颜色
 
echo -e "${red}显示红色0 ${NC}"
echo -e "${RED}显示红色1 ${NC}"    
echo -e "${green}显示绿色0 ${NC}"
echo -e "${GREEN}显示绿色1 ${NC}"  
echo -e "${yellow}显示黄色0 ${NC}"
echo -e "${YELLOW}显示黄色1 ${NC}"    
echo -e "${cyan}显示蓝绿色0 ${NC}"
echo -e "${CYAN}显示蓝绿色1 ${NC}"

运行结果:

说明(部分未必完全准确):

1.转义序列字符串要用 \[ 和 \] 括起来, 防止转义序列的文本显示在 shell 里占用太多的空间。 要是不想让提示符后面的文字也变成绿色,我们用 \033[0m 关闭转义序列, \033[0m 是 shell 的默认颜色。前景色和背景色都有 8 种可用的选择。

可选颜色:红色、绿色、黄色、蓝色、洋红、青色和白色。 他们对应的颜色代码是:30(黑色)、31(红色)、32(绿色)、 33(黄色)、34(蓝色)、35(洋红)、36(青色)、37(白色)。

2.用同样色方法设置背景色,不过要把第一个数字“3”替换成“4”, 例如 40、41、42、43、44、45、46、47。

3.刚才提到了,在第一个转义序列后面的“0”是提示符的文本的默认颜色设置。 对于文本属性来说,这些值是有意义的:0、1、22、4、24、5、25、7、27, 分别表示:默认值、粗体、非粗体、下划线、非下划线、闪烁、非闪烁、 反显、非反显。

linux shell的输出效果修改方法(界面颜色)相关推荐

  1. Linux shell脚本输出日志的方法和案例

    Linux shell脚本输出日志 #### log_correct函数打印正确的输出到日志文件 function log_correct () {DATE=`date "+%Y-%m-%d ...

  2. Linux shell逐行读取文件的方法

    Linux shell逐行读取文件的方法 来源:互联网  在linux中有很多方法逐行读取一个文件的方法,其中最常用的就是下面的脚本里的方法,而且是效率最高,使用最多的方法.为了给大家一个直观的感受, ...

  3. linux批量重命名脚本,Mac / Linux Shell 批量重命名的方法总览

    Linux Shell 批量重命名的方法总览 0.用类似 GPRename 这样的图形软件进行批量重命名 1.删除所有的 .bak 后缀: rename 's/\.bak$//' *.bak 2.把 ...

  4. linux shell操作mysql,Linux shell操作mysql数据库的方法

    摘要 腾兴网为您分享:Linux shell操作mysql数据库的方法,鱼乐贝贝,宜信,嘻嘻动漫,西餐菜谱等软件知识,以及包装效果图,德州人社,evasi0n.com,ios迅雷,民革e家,动态表情, ...

  5. # Linux shell终端设置代理服务器的方法

    Linux shell终端设置代理服务器的方法 文章目录 Linux shell终端设置代理服务器的方法 1 变量列表 2 设置方法 2.1 设置代理 2.2 测试代理 3 软件专用代理 3.1 yu ...

  6. c中获取python控制台输出_linux c程序中获取shell脚本输出的实现方法

    [转]Linux Shell脚本调试技术 本文转载自:https://www.ibm.com/developerworks/cn/linux/l-cn-shell-debug/ Shell脚本调试技术 ...

  7. [linux] shell 输入/输出重定向 、 文件包含

    Shell 输入/输出重定向 大多数 UNIX 系统命令从终端接受输入并将所产生的输出发送回​​到终端.一个命令通常从一个叫标准输入的地方读取输入,默认情况下,这恰好是自己的终端.同样,一个命令通常将 ...

  8. linux提示符目录变为~,Linux终端提示符路径长度的修改方法

    Linux系统下的默认路径通常都比较长,看起来十分不方便,那么有什么方法能够修改Linux默认路径提示的长度呢?下面随小编一起来学习下Linux下如何修改终端提示符路径长度. 基本上Linux系统下默 ...

  9. Linux shell逐行读取文件的方法-比较

    From: http://www.embeddedlinux.org.cn/html/jishuzixun/201211/19-2387.html 在linux中有很多方法逐行读取一个文件的方法,其中 ...

最新文章

  1. Spring Cloud Alibaba - 10 Ribbon 自定义负载均衡策略(权重算法)
  2. 数据降维(PCA、KPCA、PPCA)及C++实现
  3. linux中postscript如何生成,【转载】如何为Linux生成和打上patch
  4. 运维自动化之基于python语言的文字界面的运维管理软件
  5. [Remoting FAQ]Loading a Remoting Host On IIS得到BadImageFormatException
  6. css 浮动在最上层_《CSS 知识总结》
  7. 从零实现深度学习框架——实现Debug功能与no_grad
  8. Android中关于键盘的处理
  9. ps怎么把黑白照片变成彩色?ps把儿童黑白照变彩色教程
  10. C\C++关键字---学习
  11. 使用IDEA快速画类图
  12. 租便宜的VPS应该注意什么?
  13. 解决window 10 Edge浏览器下载速度太慢
  14. VMware虚拟机中linux CentOS7上网联网,简单粗暴亲测有效
  15. ubuntu16.04下Nvidia T1000显卡驱动460、CUDA10.2、CUDNN8安装
  16. flutter Timer 延时器,定时器详解
  17. CVTE 2021 春招面经
  18. 从一个“仅为”$1Bn的开源数据库IPO,聊聊开源和infra的现在与未来
  19. P1328 [NOIP2014 提高组] 生活大爆炸版石头剪刀布
  20. 51Nod-1000A+B

热门文章

  1. Boost:bimap双图lambda表达式的测试程序
  2. VTK:可视化之LabeledMesh
  3. VTK:Rendering之StringToImageDemo
  4. VTK:直线网格之RectilinearGridToTetr​​ahedra
  5. VTK:PolyData之GetMiscPointData
  6. OpenCV Dbt人脸检测Dbt face detection的实例(附完整代码)
  7. OpenCV:使用git和cmake安装Tesserac
  8. Qt CMake命令参考
  9. C语言实现阿姆斯特朗数armstrong number算法(附完整源码)
  10. QT的QSpinBox类的使用