shell脚本定义输出字符颜色
#-------------------定义输入颜色---------------------#
RED='\033[1;31m'
GREEN='\033[1;32m'
YELLOW='\033[1;33m'
BLUE='\033[1;34m'
NORMAL='\033[0m'
RedBG='\033[1;41;37m'
GreenBG='\033[1;42;37m'
YellowBG='\033[1;43;37m'
Screen=$(stty -F /dev/console size|awk '{print $2}')
#如果算出来的值为空,就默认赋值为80.
Columns=${Screen:-80}
#减12是指减掉"[ $RED File $NORMAL ]"所占的字符.
SPACOL=$[$Columns-12]
GreenChar() {
String=$1
#计算出真正的空白数,$Columns-12后的结果再减$1的字符数.
RTSPA=$[${SPACOL}-${#String}]
echo -en "$GREEN${String}$NORMAL"
for I in `seq 1 $RTSPA`;do #如果I在1到68,则输出------
#出输入空白
#seq 1 $RTSPA的输出结果
#
echo -n "-" #echo -n是不输出换行符
done
echo -e "[$GREEN OK $NORMAL]" # 输出结果[ OK ],-e允许反斜杠\的转义
}
RedChar() {
String=$1
RTSPA=$[${SPACOL}-${#String}]
echo -en "$RED${String}$NORMAL"
for I in `seq 1 $RTSPA`;do
echo -n "-"
done
echo -e "[$RED Failed $NORMAL]" #同理,一行的最后字符是[ Failed ]
}
YellowChar() {
String=$1
RTSPA=$[${SPACOL}-${#String}]
echo -en "$YELLOW${String}$NORMAL"
for I in `seq 1 $RTSPA`;do
echo -n "-"
done
echo -e "[$YELLOW Warning $NORMAL]" #同理,一行的最后字符是[ Warning ]
}
GreenBGChar() {
echo ""
echo -e "[[ $GreenBG $1 $NORMAL ]]"
echo ""
}
RedBGChar() {
echo ""
echo -e "[[ $RedBG $1 $NORMAL ]]"
echo ""
}
YellowBGChar() {
echo ""
echo -e "[[ $YellowBG $1 $NORMAL "
echo ""
}
BG的输出结果
最终的字符效果
shell脚本定义输出字符颜色的更多相关文章
- 〖Linux〗Shell脚本修改输出文字颜色
Shell函数: echocolor(){ color=${} && shift case ${color} in black) echo -e "\e[0;30m${@}\ ...
- 学习笔记之Shell脚本的输出重定向
shell http://baike.baidu.com/link?url=qN3THt5ZJhQtwRJJkakWdz5-vZp4V9H3OmNP97XNhaoL-dqU-6rrFrYfHXmYv6 ...
- mac上运行shell脚本遇到回车字符错误
今天运行一段其他人给的shell脚本,遇到如下问题,这个脚本的内容如下: dname=\((dirname "\)PWD") mkdir ${dname}"/rom_pu ...
- shell脚本,一个字符一个字符输出。
[root@localhost wyb]# cat file abc def abc 789de f567 [root@localhost wyb]# cat fffile.sh #!/bin/bas ...
- Shell 脚本如何输出帮助信息?
作者展示了一个技巧,将帮助信息写在 Bash 脚本脚本的头部,然后只要执行"脚本名 + help",就能输出这段帮助信息 https://samizdat.dev/help-mes ...
- shell 脚本中将输出内容赋值给一个变量时的换行问题
for ((i=0; i<4; i++) do ....... done 如果使用 echo $a 输出变量,则变量中的 换行都会被忽略掉,所有内容输出到一行 而使用 echo "$a ...
- java执行shell脚本并输出执行情况
1.脚本test.sh,置于/Users/hdwang目录下 #!/bin/sh cd /Users/hdwang echo ls:`ls` ;i<=;i++)); do + ); sleep ...
- python 捕获 shell 脚本的输出结果
import subprocessoutput =Popen(["mycmd","myarg"], stdout=PIPE).communicate()[0] ...
- 【转】shell脚本调试(bash trap support bashdb )
原文网址:http://zhu8337797.blog.163.com/blog/static/170617549201122512712136/ 命 令 选 项 功 能 bash –x 脚本名 回显 ...
随机推荐
- 第 9 章 数据管理 - 073 - 如何实现跨 Docker 主机存储?
从业务数据的角度看,容器可以分为两类: 无状态(stateless)容器 无状态是指容器在运行过程中不需要保存数据,每次访问的结果不依赖上一次访问,比如提供静态页面的 web 服务器. 有状态(sta ...
- ionic3 在windows环境下打包android 正式签名版APK
生成签名文件keytool -genkey -alias demo.keystore -keyalg RSA -validity 40000 -keystore demo.keystore demo为 ...
- mysql Access denied for user root @localhost (using password:YES)错误
C:\AppServ\MySQL> mysql -u root -p Enter password: ERROR 1045 (28000): Access denied for user 'r ...
- php 根据输入的参数,获取上季度最后一个月的时间
public function getTime( $time ='2017-06-01 00:00:00'){ $month = date('m',strtotime($time)); $season ...
- CRM 员工创建并分配用户
REPORT zjp_emp_upload. TABLES: sscrfields. DATA:gt_excel_data TYPE TABLE OF zalsmex_tabline, gs_exce ...
- JAVA写接口傻瓜(?)教程(一)
当一个安卓开发人员/微信小程序开发者想做点什么的时候,如果他发现没有合适的接口,那么单机安卓.本地数据库emmm.没了接口就好像老人没了拐杖.盲人没了墨镜,完全可以称得上是举步维艰.生活艰难到需要自己 ...
- vue v-if控制显隐,页面加载出现闪现 v-cloak
<div id="divApp"> <div v-if="type === 'A'" v-cloak> A </div> & ...
- 接口压力测试--Jmeter
1.Jmeter简介 JMeter就是一个测试工具,相比于LoadRunner等测试工具,此工具免费,且比较好用,但是前提当然是安装Java环境: JMeter可以做 (1)压力测试及性能测试: (2 ...
- C# 加载并显示菜单
1,支持cui和cuix. 2,菜单组重复加载或显示,C#下都会崩溃.所以要判断. 3,菜单加到最后. public static AcadMenuGroup LoadMenu(AcadMenuGro ...
- Android中的Context(一)
Android中的Context(一) 在Android开发中,Context可以说是我们接触地非常多的一个概念了,也译作"上下文",但是这个上下文到底是什么却并不好理解. 通俗的 ...