理论知识:
case条件语句,可以依据变量的不同取值,分别执行不同的命令动作
题目:
case条件语句:提示用户输入一个字符,判断该字符是字母、数字或特殊字符
编写脚本
[root@oracle xiehao]# vi case.sh
#!/bin/bash
read -p "请输入一个字符,并按Enter键确认:" KEY
case "$KEY" in
[a-z]|[A-Z])
echo "你输入的是字母"
;;
[0-9])
echo "你输入的是数字"
;;
*)
echo "你输入的是空格,*,_,等特殊字符"
esac
注意:右半边的单括号
每次判断之后,需要用两个加上 ;;
*) 相当于if里面的else
结尾必须是case的反写esac结束
执行结果:
[root@oracle xiehao]# sh case.sh
请输入一个字符,并按Enter键确认:3
你输入的是数字
[root@oracle xiehao]# 31
-bash: 31: command not found
[root@oracle xiehao]# sh case.sh
请输入一个字符,并按Enter键确认:3
你输入的是数字
[root@oracle xiehao]# sh case.sh
请输入一个字符,并按Enter键确认:3555
你输入的是空格,*,_,等特殊字符
[root@oracle xiehao]# sh case.sh
请输入一个字符,并按Enter键确认:dffff
你输入的是空格,*,_,等特殊字符
[root@oracle xiehao]# sh case.sh
请输入一个字符,并按Enter键确认:a
你输入的是字母
[root@oracle xiehao]# sh case.sh
请输入一个字符,并按Enter键确认:%
你输入的是空格,*,_,等特殊字符
结果分析:
从执行结果可以看出:不符合前两个条件的,即数字不在0-9之间的,单个字母不在a-z,A-Z的,都认为是特殊字符,执行最后的*) 语句