【shell】shell脚本颜色显示函数

# cat echo.sh 

#########################################################

#!/bin/bash

Green_Success(){

        echo '=================================================';

        printf '\033[1;32;40m[success]  %b\033[0m\n' "$1";

}

Yellow_Warnning(){

        echo '=================================================';

        printf '\033[1;33;40m[warnning]  %b\033[0m\n' "$1";

}

Red_Error(){

        echo '=================================================';

        printf '\033[1;31;40m[error]  %b\033[0m\n' "$1";

        exit 1;

}

Green_Success "成功"

Yellow_Warnning "警告"

Red_Error "错误"

#########################################################


printf 命令中%b是什么意思?

相对应的参数被视为含有要被处理的转义序列之字符串。

%b 是开启转义,后面输出字符串中若含有转义字符会进行转义。



# cat  echo.sh

##################################################

#!/bin/bash

function green_echo () {

        local what=$*

        echo -e "\e[1;32m[success] ${what} \e[0m"

}

function yellow_echo () {

        local what=$*

        echo -e "\e[1;33m[warnning] ${what} \e[0m"

}

function red_echo () {

        local what=$*

        echo -e "\e[1;31m[error] ${what} \e[0m"

        exit 1

}

green_echo "成功"

yellow_echo "警告"

red_echo "失败"

##################################################



Shell特殊变量:Shell $0, $#, $*, $@, $?, $$和命令行参数

$* 和 $@ 的区别

$* 和 $@ 都表示传递给函数或脚本的所有参数,不被双引号(" ")包含时,都以"$1" "$2" … "$n" 的形式输出所有参数。

但是当它们被双引号(" ")包含时,"$*" 会将所有的参数作为一个整体,以"$1 $2 … $n"的形式输出所有参数;"$@" 会将各个参数分开,以"$1" "$2" … "$n" 的形式输出所有参数。



参考


shell 输出带颜色文本函数

https://blog.51cto.com/gccmx/1331709

http://blog.chinaunix.net/uid-24946452-id-343963.html


Shell特殊变量:Shell $0, $#, $*, $@, $?, $$和命令行参数

https://www.cnblogs.com/davygeek/p/5670212.html


脚本中显示成功、错误、警告函数

https://www.jianshu.com/p/c43d7f044f5d

你可能感兴趣的:(【shell】shell脚本颜色显示函数)