当我们书脚本的时候,会想要把其中的某些部分进行重点的提示,这就涉及到怎么把字符标记显示不同的颜色。
常用的颜色有:
黑色 | \033[30m xxx \033[0m |
红色 | \033[31m xxx \033[0m |
绿色 | \033[32m xxx \033[0m |
黄色 | \033[33m xxx \033[0m |
蓝色 | \033[34m xxx \033[0m |
紫色 | \033[35m xxx \033[0m |
天蓝色 | \033[36m xxx \033[0m |
白色 | \033[37m xxx \033[0m |
但是这些颜色所对应的代码很难记,所以我们可以将这些数字用变量来定义,写入一个脚本color.sh:
#!/bin/sh
#Date: xx-xx-xx
#Author: guang
#Mail: canyudeguang@163.com
#functions: color variables
BLACK='\033[30m'
RED='\033[31m'
GREEN='\033[32m'
YELLOW='\033[33m'
BLUE='\033[34m'
PINK='\033[35m'
END='\E[0m'
在需要用的时候加载进自己的脚本即可:
#!/bin/sh
#Date: xx-xx-xx
#Author: guang
#Mail: canyudeguang@163.com
#functions: test colors
[ -f ~/clolor.sh ] && . ~/color.sh || exit 1
echo -e "${RED} who are you? ${END}"
echo -e "${YELLOW} welcome to my blog ${END}"
当然,更恰当的做法是将这些变量定义成一个函数进行调用:
#!/bin/sh
#Date: xx-xx-xx
#Author: guang
#Mail: canyudeguang@163.com
#functions: color variables
addColor(){
BLACK='\033[30m'
RED='\033[31m'
GREEN='\033[32m'
YELLOW='\033[33m'
BLUE='\033[34m'
PINK='\033[35m'
END='\E[0m'
[ $# -ne 2 ] && {
echo "Usage: $0 content color."
exit 1
}
case "$2" in
black|BLACK)
echo -e "${BLACK}$1${END}"
;;
red|RED)
echo -e "${RED}$1${END}"
;;
green|GREEN)
echo -e "${GREEN}$1${END}"
;;
yellow|YELLOW)
echo -e "${YELLOW}$1${END}"
;;
blue|BLUE)
echo -e "${BLUE}$1${END}"
;;
pink|PINK)
echo -e "${PINK}$1${END}"
;;
*)
echo -e "${RED}$1${END}"
esac
}
加载改脚本,调用方式为:
addColor "welcome to my blog." blue