case语句 (原理 结构 案例)函数 彩色字符输出
一、case语句语法结构
1.工作原理
case语句为多重匹配语句 ● 如果匹配成功,执行相匹配的命令
2.语法结构
case var in
pattern 1)
command 1
pattern 2)
command 2
*)
command 3
;;
esac
3. 应用案例
判断用户输入的字符串,如果是"hello",则显示"world";如果是"world",
则显示"hello",否则提示"请输入hello或者world,谢谢!"
#!/bin/bash
read -p "keyin: " name
case $name in
hello)
echo world
;;
world)
echo hello
;;
*)
echo "keyin hello or world"
echo "请输入hello或者world,谢谢!"
;;
esac
二、函数
1.什么是函数?
shell中允许将一组命令集合或语句形成一段可用代码,称为shell函数 给这段代码起个名字称为函数名,后续可以直接调用该段代码的功能
2.函数定义
方法一:
函数名()
{
函数体(一堆命令的集合,来实现某个功能)
}
方法二:
function 函数名()
{
函数体(一堆命令的集合,来实现某个功能)
echo hello
echo world
}
3.有颜色的字符输出
#字体色范围:30-37
echo -e "\033[30m 黑色字 \033[0m"
echo -e "\033[31m 红色字 \033[0m"
echo -e "\033[32m 绿色字 \033[0m"
echo -e "\033[33m 黄色字 \033[0m"
echo -e "\033[34m 蓝色字 \033[0m"
echo -e "\033[35m 紫色字 \033[0m"
echo -e "\033[36m 天蓝字 \033[0m"
echo -e "\033[37m 白色字 \033[0m"
#字背景颜色范围:40-47
echo -e "\033[40;37m 黑底白字 \033[0m"
echo -e "\033[41;30m 红底黑字 \033[0m"
echo -e "\033[42;34m 绿底蓝字 \033[0m"
echo -e "\033[43;34m 黄底蓝字 \033[0m"
echo -e "\033[44;30m 蓝底黑字 \033[0m"
echo -e "\033[45;30m 紫底黑字 \033[0m"
echo -e "\033[46;30m 天蓝底黑字 \033[0m"
echo -e "\033[47;34m 白底蓝字 \033[0m"
#控制选项说明
#\033[0m 关闭所有属性
#\033[1m 设置高亮度
#\033[4m 下划线
echo -e "\033[4;31m 下划线红字 \033[0m"
#闪烁
echo -e "\033[5;34m 红字在闪烁 \033[0m"
#反影
echo -e "\033[8m 消隐 \033[0m "
#\033[30m-\033[37m 设置前景色
#\033[40m-\033[47m 设置背景色
#\033[nA光标上移n行
#\033[nB光标下移n行
echo -e "\033[4A 光标上移4行 \033[0m"
#\033[nC光标右移n行
#\033[nD光标左移n行
#\033[y;xH设置光标位置
#\033[2J清屏
#\033[K清除从光标到行尾的内容
echo -e "\033[K 清除光标到行尾的内容 \033[0m"
#\033[s 保存光标位置
#\033[u 恢复光标位置
#\033[?25| 隐藏光标
#\033[?25h 显示光标
echo -e "\033[?25l 隐藏光标 \033[0m"
echo -e "\033[?25h 显示光标 \033[0m"
#下面的这个例子是字体不停的闪烁。
#!/bin/bash
#
a=30
b=41
while true
do
echo -e "\033[${a}m光辉女郎\033[0m"
echo -e "\033[${a}m的吗西亚\033[0m"
echo -e "\033[${a}m洛克萨斯\033[0m"
a=$(($(($a%7))+30))
b=$(($(($b%7))+40))
#每次让字体颜色在30-37转换
#每次让背景颜色在40-47转换
echo -e "\033[4A\033[0m"
done