# 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
网友评论