SHELL输出颜色和闪烁控制
Shell 颜色和闪烁控制
在Shell下有时候需要定制输出,比如给输出加上颜色,或者显示高亮,或者添加闪烁等。
然后这些颜色代码或者控制码等相对不好记住。这个时候我们可以考虑把最终想要的结果制定成对应的函数,
在使用的时候直接调用函数会方便很多
格式
echo -e "\033[字背景颜色;字体颜色m字符串\033[控制码"
定制颜色函数
## blue to echo
function blue(){
echo -e "\033[34m[ $1 ]\033[0m"
}
## green to echo
function green(){
echo -e "\033[32m[ $1 ]\033[0m"
}
## Error to warning with blink
function bred(){
echo -e "\033[31m\033[01m\033[05m[ $1 ]\033[0m"
}
## Error to warning with blink
function byellow(){
echo -e "\033[33m\033[01m\033[05m[ $1 ]\033[0m"
}
## Error
function bred(){
echo -e "\033[31m\033[01m[ $1 ]\033[0m"
}
## warning
function byellow(){
echo -e "\033[33m\033[01m[ $1 ]\033[0m"
}
可以把这些函数写入到一个公共的SHELL脚本中,每次在编写其他脚本的时候用如下方式调用,即可
source /root/bin/common
或者可以把上述代码直接粘贴到当前编写的脚本中去。
当然可以推荐第一种方式。不用每次都复制粘贴。 直接 source 调用 即可
举例
root@pts/4 $ cat /root/bin/common
#!/usr/bin/env bash
## blue to echo
function blue(){
echo -e "\033[35m[ $1 ]\033[0m"
}
## green to echo
function green(){
echo -e "\033[32m[ $1 ]\033[0m"
}
## Error to warning with blink
function bred(){
echo -e "\033[31m\033[01m\033[05m[ $1 ]\033[0m"
}
## Error to warning with blink
function byellow(){
echo -e "\033[33m\033[01m\033[05m[ $1 ]\033[0m"
}
## Error
function red(){
echo -e "\033[31m\033[01m[ $1 ]\033[0m"
}
## warning
function yellow(){
echo -e "\033[33m\033[01m[ $1 ]\033[0m"
}
Dev-web-solr [/opt/hexo2] 2016-11-28 17:52:03
root@pts/4 $ cat /root/bin/test.sh
#!/usr/bin/env bash
source /root/bin/common
green "hello world with green color"
blue "hello world with blue color"
bred "error info with blink"
byellow "warning info with blink"
测试结果如下所示


附加 shell输出 字体背景颜色和字体颜色,控制码等参数
字体背景颜色
40:黑
41:深红
42:绿
43:黄色
44:蓝色
45:紫色
46:深绿
47:白色
字体颜色
30:黑
31:红
32:绿
33:黄
34:蓝色
35:紫色
36:深绿
37:白色
控制码
这里常用有 设置高亮度/下划线/闪烁/关闭所有属性
\33[0m 关闭所有属性
\33[01m 设置高亮度
\33[04m 下划线
\33[05m 闪烁
\33[07m 反显
\33[08m 消隐
\33[30m -- \33[37m 设置前景色
\33[40m -- \33[47m 设置背景色
\33[nA 光标上移n行
\33[nB 光标下移n行
\33[nC 光标右移n行
\33[nD 光标左移n行
\33[y;xH设置光标位置
\33[2J 清屏
\33[K 清除从光标到行尾的内容
\33[s 保存光标位置
\33[u 恢复光标位置
\33[?25l 隐藏光标
\33[?25h 显示光标
echo -e "\033[32m[ kill old tomcat success with pid: $tomcat_pid ]\033[0m" 绿色
作者:全栈运维
链接:https://www.jianshu.com/p/ba1b8aded634
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
SHELL输出颜色和闪烁控制的更多相关文章
- Shell输出颜色设置
echo的三个参数 -E 关闭转义(默认) -e 识别转义 -n 不自动输出换行符 Shell识别颜色参数 \033[cor_id1;cor_id2;...]m \033和\e是相同 ...
- shell输出颜色
#!/bin/bash # #下面是字体输出颜色及终端格式控制 #字体色范围:- echo -e "\033[30m 黑色字 \033[0m" echo -e "\033 ...
- shell输出颜色、printf输出颜色
1.echo开启彩色输出: -e 开启echo中的转义: \e或者\033来输出Esc颜色: 恢复默认颜色为:\e[0m; 命令格式: echo -e "\e[字背景颜色:文字颜色m字符串\ ...
- Linux Shell输出颜色字符学习笔记(附Python脚本实现自动化定制生成)
齿轮发出咔嚓一声,向前进了一格.而一旦向前迈进,齿轮就不能倒退了.这就是世界的规则. 0x01背景 造了个轮子:御剑师傅的ipintervalmerge的Python版本.觉得打印的提示信息如果是普通 ...
- bash shell输出颜色
http://note.youdao.com/noteshare?id=9de6d5fac6380447df112dff5bc404a1
- shell (颜色输出)
摘自https://www.cnblogs.com/t-road/p/10257296.html #!/bin/bash # #下面是字体输出颜色及终端格式控制 #字体色范围:30-37 echo - ...
- shell输出加颜色
shell输出加颜色 #cat a.sh #!/bin/sh blue=`tput setaf 4` reset=`tput sgr0` echo "${blue}[INFORMATION] ...
- 让控制台支持 ANSI 转义序列,输出下划线、修改颜色或其他控制
各种操作系统的控制台都支持 ANSI 转义序列(ANSI Escape Code).使用转义序列,可以对控制台进行很多额外的定制,例如修改颜色.修改标题栏,将文字添加下划线等. 当然,.NET 已经帮 ...
- echo 输出颜色
shell脚本里使用echo输出颜色 echo命令颜色显示: echo: -n: 不换行. -e:让转移符生效. \t(tab) \n (换行) 实例: $ echo ...
随机推荐
- Mac下开发环境的配置
新安装的mac系统往往要配置各种环境,总是记不住,暂时保存在这,以备后需------- Mac下的包管理工具使用的是brew,首先安装它 官方站:https://brew.sh/ 安装命令: /usr ...
- 安装BCG界面库 会导致vs2013qt库配置消失
安装BCG界面库 会导致vs2013qt库配置消失 安装BCG界面库 会导致vs2013qt库配置消失 安装BCG界面库 会导致vs2013qt库配置消失
- 如何使用Beyond Compare比较两个文件夹的差异
很多时候,我们需要比较两个文件或者两个文件夹的差异性,看看是哪里不同.这时候就需要一款比较软件来处理,Beyond Compare就是其中一款非常好用的版本比较工具,下面简单介绍一下Beyond Co ...
- 深入理解JAVA虚拟机 自动内存管理机制
运行时数据区域 其中右侧三个一起的部分是每个线程一份,左侧两个是所有线程共享的. 程序计数器(Program Counter Register) 英文名称叫Program Counter Regist ...
- Bootstarp-table入门(1)
https://blog.csdn.net/dlf123321/article/details/52231926?locationNum=11&fps=1
- Docker(3)--常用命令
1.docker -h 帮助 2.获取镜像 docker pull NAME[:TAG] [root@node3 ~]#docker pull centos:latest 3.启动Container盒 ...
- 设置HTML的TextArea标记跟随文本内容自动设置高度
写内容的时候用的是textarea来写,可以换行,然后预览页面也要显示是换行才行,所以预览页面还是要用textarea来显示, 样式去掉边框,不可以拉伸,不可编辑 // html <textar ...
- 新建com组件项目步骤
一.菜单栏 新建->项目->ATL->ATL项目->动态链接库 后续默认完成二.菜单栏 项目->添加类->ATL控件->“写入类的命名如:CeshiMai ...
- React native 之 async/await
参考资料 :https://www.jianshu.com/p/1e75bd387aa0 要点: 1. async function(){} 将普通函数转换成Promise 2. await 表达式/ ...
- make all age=20 makefile 传参数
你可以直接在Make的时候,在命令行下面传入一个参数或者变量,它会覆盖掉Makefile里面的变量或者参数.比如,在你的Makefile里面定义了一个变量age. .PHONY:all AGE = a ...