#-------------------定义输入颜色---------------------#
  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. iOS坐标转换失败?

    使用UIKit的坐标转换方法convertxxx,千万要注意: 一个控件可以转换子控件上的某个点,到另外一个控件上 但是不能转换自己本身的点,到另外一个控件上,否则会数量加倍 所以,一个控件若想转换本 ...

  2. 《R语言入门与实践》第六章:R 的环境系统

    前言 这一章在对象的基础之上,讲解了对象所处的环境,进一步讲了环境对对象的作用,以及如何使用环境.结构如下: 环境的定义和操作 环境的规则 制作闭包 环境 R 环境的定义 在 R 中,每一个数据对象都 ...

  3. 【堆】【洛谷例题】p1090 p1334 p1177

    (都是比较简单的典型的而且都是小根堆的例题) p1090 合并果子[传送门] 算法分析:要尽量使用最小的体力合并完所有果子,那么每次合并的两堆果子应该是这所有堆中最小的一个(因为越先合并的堆要被算的次 ...

  4. C# 枚举 Flag属性(权限设计)

    枚举是一个可以列举元素的对象,常用于权限,日期,类型等. 如果对一个值可以包含多个,那么可以使用枚举,加上Flags [Flag] public enum Permission { create=, ...

  5. 毕设记录(ajax)

    有关ajax的cache属性值 cache作用:是否在缓存中读取数据的读取. cache属性是true(默认值)时:在第一次请求完成之后,如果地址和参数不变化,第二次去请求,会默认获取缓存中的数据,不 ...

  6. 牛客网暑期ACM多校训练营(第七场)Bit Compression

    链接:https://www.nowcoder.com/acm/contest/145/C 来源:牛客网 题目描述 A binary string s of length N = 2n is give ...

  7. AutoLayout的坑

    本文投稿文章,作者:MangoMade(简书) AutoLayout非常强大也非常易用,可读性也很强,加上各种第三方AutoLayout库,让你布起局来犹如绷掉链子的狗!根本停不下来!以前的 1 la ...

  8. javascript 判断质数

    1.判断n是否为number类型,是否为整数,是否小于2: 2.若n == 2返回true: 3.从3至n的算术平方根(square)之间的奇数,如果n取余为0,则不是奇数. var isPrime ...

  9. dockerfile语法规则

    编写Dockerfile 在前面的章节,我们学习了通过docker命令来下载镜像,运行镜像,在容器中部署自己的程序,最后将容器提交到自己的镜像中.但是,这并不是Docker推荐的镜像构建方式.在这一章 ...

  10. python 对象存储OSS 阿里云

    SDK参考 ->python->上传文件->简单上传 #  -*- coding: utf-8 -*- import oss2 auth=oss2.Auth('<yourAcc ...