【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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值