#-------------------定义输入颜色---------------------#
  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脚本定义输出字符颜色的更多相关文章

  1. 〖Linux〗Shell脚本修改输出文字颜色

    Shell函数: echocolor(){ color=${} && shift case ${color} in black) echo -e "\e[0;30m${@}\ ...

  2. 学习笔记之Shell脚本的输出重定向

    shell http://baike.baidu.com/link?url=qN3THt5ZJhQtwRJJkakWdz5-vZp4V9H3OmNP97XNhaoL-dqU-6rrFrYfHXmYv6 ...

  3. mac上运行shell脚本遇到回车字符错误

    今天运行一段其他人给的shell脚本,遇到如下问题,这个脚本的内容如下: dname=\((dirname "\)PWD") mkdir ${dname}"/rom_pu ...

  4. shell脚本,一个字符一个字符输出。

    [root@localhost wyb]# cat file abc def abc 789de f567 [root@localhost wyb]# cat fffile.sh #!/bin/bas ...

  5. Shell 脚本如何输出帮助信息?

    作者展示了一个技巧,将帮助信息写在 Bash 脚本脚本的头部,然后只要执行"脚本名 + help",就能输出这段帮助信息 https://samizdat.dev/help-mes ...

  6. shell 脚本中将输出内容赋值给一个变量时的换行问题

    for ((i=0; i<4; i++) do ....... done 如果使用 echo $a 输出变量,则变量中的 换行都会被忽略掉,所有内容输出到一行 而使用 echo "$a ...

  7. java执行shell脚本并输出执行情况

    1.脚本test.sh,置于/Users/hdwang目录下 #!/bin/sh cd /Users/hdwang echo ls:`ls` ;i<=;i++)); do + ); sleep ...

  8. python 捕获 shell 脚本的输出结果

    import subprocessoutput =Popen(["mycmd","myarg"], stdout=PIPE).communicate()[0] ...

  9. 【转】shell脚本调试(bash trap support bashdb )

    原文网址:http://zhu8337797.blog.163.com/blog/static/170617549201122512712136/ 命 令 选 项 功 能 bash –x 脚本名 回显 ...

随机推荐

  1. 金蝶K3常用数据表

    金蝶K3WISE常用数据表 K3Wise 14.2 清空密码update t_User set FSID=') F ", ,P T #8 *P!D &D 80!N &@ &l ...

  2. java小白也能懂的面向对象

    类是对一组具有共同特征和行为的对象的抽象描述. 理解 [1]类是专门用于描述现实生活中的事物的. [2]类描述的事物都具有共同的特征和行为. [3]类就是我们通常所说的 “类型” ,描述的是一个群体性 ...

  3. 理解去中心化 稳定币 DAI

    本文转载于深入浅出区块链, 原文链接 随着摩根大通推出JPM Coin 稳定币,可以预见稳定币将成为区块链落地的一大助推器. 坦白来讲,对于一个程序员的我来讲(不懂一点专业经济和金融),理解DAI的机 ...

  4. JavaScript入门篇

    记录一下在慕课网学习JavaScript的过程. 以下内容均来自慕课网. 传送:https://www.imooc.com/code/401 为什么学习JavaScript 1. 所有主流浏览器都支持 ...

  5. 缓存之Memcache

    Memcache Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度. ...

  6. Mongoose 'static' methods vs. 'instance' methods

    statics are the methods defined on the Model. methods are defined on the document (instance). We may ...

  7. jquery 浮动 固定显示

    <%@ page contentType="text/html;charset=UTF-8" language="java" %>无标题文档 我爱b ...

  8. RS485转USB插电脑上通讯不上

    在确定没有其他问题时,基本可以确定是干扰问题,换个24V电源试试,不要用原来的线 485接口确定,好坏通过两个相反对接,发送信息,两边一致,就可以

  9. (1)vue点击图片预览(可旋转、翻转、缩放、上下切换、键盘操作)

    今天做项目的时候,遇到了新需求,需要把点击图片放大的功能.学习了一下GitHub上的viewerjs插件 GitHub地址:https://github.com/fengyuanchen/viewer ...

  10. mysql存储过程和执行计划案例

    开启event_scheduler指令: SET GLOBAL event_scheduler = ON;SET @@global.event_scheduler = ON;SET GLOBAL ev ...