shell之case语句

case .. esac语句和其它语句中的switch .. case语句功能相似,是一个多分支语句结构。

case语句匹配一个值或一个模式,如果匹配,则执行相应的语句,case语句的格式如下:

case 值 in
模式1)
    command1
    command2
    command3
    ;;
模式2)
    command1
    command2
    command3
    ;;
*)
    command1
    command2
    command3
    ;;
esac

case关键字后接要判定的数据,再接关键字in,数据可以是变量或常量。匹配项也可以是常量或变量,后以右括号结束。当条件匹配成功后,将执行匹配项之后的语句,直到;;为止。如果无匹配项,则执行*项。

看如下例子:

#!/bin/bash
read var
case ${var}  in
1)
 echo "You inputed 1"
 ;;
2)
 echo "You inputed 2"
 ;;
*)
 echo "You inputed not 1 or 2"
 ;;
esac

运行脚本,当你输入1,则执行1下面的语句,2同样,当输入非1非2时,则执行*下面的语句。

0 条评论
发表一条评论