九、case语句
1、case命令
是以列表导向格式检查单个变量的多个值
命令:
case $变量名 in "值 1") ;; 如果变量的值等于值1,则执行程序1, 值2") 如果变量的值等于值2,则执行程序2 ;; …省略其他分支… *) 如果变量的值都不是以上的值,则执行此程序 ;; esac
需要注意以下内容:
- case 语句会取出变量中的值,然后与语句体中的值逐一比较。如果数值符合,则执行对应的程序;如果数值不符,则依次比较下一个值;如果所有的值都不符合,则执行"*)"("*"代表所有其他值)中的程序。
- case 语句以"case"开头,以"esac"结尾。 反写
- 在每个分支程序之后要以";;"(双分号)结尾,代表该程序段结束(千万不要忘记)。
注意,多分支 case 条件语句只能判断变量中的值到底是什么,而不能像多分支if语句那样,可以判断多个条件,所以多分支 case 条件语句更加适合单条件多分支的情况。比如,我们在系统中经常看到请选择"yes/no",或在命令的输出中选择是执行第一个选项,还是执行第二个选项(fdisk 命令)。在这些情况下,使用 case 最为适合。
例1:
[root@localhost ~]# vi 1.sh #!/bin/bash #判断用户输入 read -p "Please choose yes/no: " -t 30 cho #在屏幕上输出"请选择yes/no",然后把用户选择赋予变量cho case $cho in #判断变量cho的值 "yes") #如果是yes echo "Your choose is yes!" #则执行程序1 ;; "no") #如果是no echo "Your choose is no!" #则执行程序2 ;; *) #如果既不是yes,也不是no echo "Your choose is error!" #则执行此程序 ;; esac
[root@localhost ~]# ./1.sh
./1.sh:行1: [root@localhost: 未找到命令
Please choose yes/no: yes
Your choose is yes!
本文来自博客园,作者:chao_xiong,转载请注明原文链接:https://www.cnblogs.com/chao-xiong/p/14601758.html

浙公网安备 33010602011771号