shell编程--case判断

case基础语法:
格式 case??变量名 in
value1)
command
;;
value2)
command
;;
*)
commond
;;
esac
在case程序中,可以在条件中使用|,表示或的意思, 比如? ??
2|3)
command
;;
脚本

[[email protected] shell]# vim case.sh

 #!/bin/bash
read -p "Please input a number: " n
if [ -z "$n" ]
then
    echo "Please input a number."
    exit 1
fi

n1=`echo $n|sed ‘s/[0-9]//g‘`
if [ -n "$n1" ]
then
 echo "Please input a number."
 exit 1
fi

if [ $n -lt 60 ] && [ $n -ge 0 ]
then
    tag=1
elif [ $n -ge 60 ] && [ $n -lt 80 ]
then
    tag=2
elif [ $n -ge 80 ]  && [ $n -lt 90 ]
then
    tag=3
elif [ $n -ge 90 ] && [ $n -le 100 ]
then
    tag=4
else
    tag=0
fi
case $tag in
    1)
        echo "不及格"
        ;;
    2)
        echo "及格"
        ;;
    3)
        echo "优秀"
        ;;
    4)
        echo "非常优秀"
        ;;
    *)
        echo "The number range is 0-100."
        ;;
esac

执行结果

[[email protected] shell]# sh case.sh
Please input a number: 50
不及格
[[email protected] shell]# sh case.sh
Please input a number: 60
及格
[[email protected] shell]# sh case.sh
Please input a number: 80
优秀
[[email protected] shell]# sh case.sh
Please input a number: 90
非常优秀
[[email protected] shell]# sh case.sh
Please input a number: 116
The number range is 0-100.
[[email protected] shell]# sh case.sh
Please input a number: aaa
Please input a number.

原文地址:http://blog.51cto.com/10963213/2105430

时间: 2024-11-05 21:47:24

shell编程--case判断的相关文章

shell编程---条件判断

一.shell编程之条件判断 1.整数测试 a.条件测试的表达式 [ expression ] [[ expression ]] test expression b.整数比较 -eq: 测试两个整数是否相等:比如 $A -eq $B -ne: 测试两个整数是否不等:不等,为真:相等,为假: -gt: 测试一个数是否大于另一个数:大于,为真:否则,为假: -lt: 测试一个数是否小于另一个数:小于,为真:否则,为假: -ge: 大于或等于 -le:小于或等于 c.命令的间逻辑关系 逻辑与: &&am

Shell编程——条件判断(2)

Shell编程之条件判断 条件测试操作 test命令 测试特定的表达式是否成立,当条件成立时,测试语句的返回值为0,否则为其他数值 格式1:test 条件表达式 格式2:[ 条件表达式 ] 文件测试[ 操作符 文件或目录 ]常用的测试操作符-d:测试是否为目录-e:测试目录或文件是否存在-f:测试是否为文件-r:测试当前用户是否有权限读取-w:测试当前用户是否有权限写入-x:测试当前用户是否有权限执行整数值比较[ 整数1 操作符 整数2 ]常用的测试操作符-eq:等于-ne:不等于-gt:大于-

shell编程 条件判断式----利用 case ..... esac 判断

条件判断式----利用 case ..... esac 判断 case  $变量名称 in   <==关键词为 case ,还有变量前有钱字号 "第一个变量内容")   <==每个变量内容建议用双引号括起来,关键词则为小括号 ) 程序段 ;;            <==每个类别结尾使用两个连续的分号来处理! "第二个变量内容") 程序段 ;; *)                  <==最后一个变量内容都会用 * 来代表所有其它值 不包含

shell编程 条件判断式----利用 if .... then ----多重

条件判断式----利用 if .... then ----多重 在同一个数据的判断中,如果该数据需要进行多种不同的判断时,应该怎么作?举例来说,上面的 sh06.sh 脚本中,我们只要进行一次 $yn 的判断就好 (仅进行一次 if ),不想要作多次 if 的判断. 此时你就得要知道底下的语法了: # 一个条件判断,分成功进行与失败进行 (else) if [ 条件判断式 ]; then 当条件判断式成立时,可以进行的指令工作内容: else 当条件判断式不成立时,可以进行的指令工作内容: fi

Shell编程中括号判断中赋值语句和判断语句

#!/bin/bash declare var="xxx" # without space and use one = #1.judge whether the assignment statement returns true echo "----------------------test assignment in bracket --------------------------------" [ var="yyyy" ] &&

shell编程-条件判断式

条件判断式主要有以下6种类型: [[email protected] test]# ls -l total 8 drwxr-xr-x 2 root root 4096 Jan 17 19:28 shell -rw-r--r-- 1 root root 4 Jan 17 19:29 test.sh [[email protected] test]# [ -d test.sh ] && echo "yes" || echo "no" no [[email

Linux Shell编程 条件判断语法

if条件判断语句 单分支 if 条件语句 语法格式: if [条件判断式];then 程序 fi 或者 if [条件判断式] then 程序 fi 在使用单分支 if 条件查询时需要注意几点: if 语句使用 fi 结尾,和一般语言使用大括号结尾不同. [条件判断式] 就是使用 test 命令判断,所以中括号和条件判断式之间必须有空格. then 后面跟符合条件之后执行的程序.可以放在 [] 之后,用";"分隔:也可以换行写入,就不需要";": 示例:通过脚本判断根

Shell 编程 case语句

本篇主要写一些shell脚本条件语句的使用. 条件测试 test 条件表达式 [ 条件表达式 ] 文件测试 -d:测试是否为目录(Directory). -e:测试文件或目录是否存在(Exist). -f:测试是否为文件(File). -r:测试当前用户是否有权限读取(Read). -w:测试当前用户是否有权限写入(Write). -x:测试是否设置有可执行权限(Excute). -nt:判断文件A是否比文件B新. -ot:判断文件A是否比文件B旧. -ef:判断两个文件是否为同一个文件,用来判

Shell编程——case语句与循环语句(3)

case多分支语句 case语句的结构 针对变量的不同取值,分别执行不同的命令序列 实例1 击键类型识别 提示用户输入一个字符 判断出该字符是字母,数字或者其他字符 #!/bin/bash read -p "请输入一个字符:" key case $key in [a-z] | [A-Z]) echo "你输入的是字母" ;; [0-9]) echo "你输入的是数字" ;; *) echo "你输入的是特殊字符" esac 实