这篇文章跟大家分析一下“如何分析Linux shell中的case语句”。内容详细易懂,对“如何分析Linux shell中的case语句”感兴趣的朋友可以跟着小编的思路慢慢深入来阅读一下,希望阅读后能够对大家有所帮助。下面跟着小编一起深入学习“如何分析Linux shell中的case语句”的知识吧。
前两篇文章已经和大家分享了for循环、whlie循环,那么怎么能少得了case 呢,case也是多分支条件语句,不过只能判断一种关系条件。
case 语句的语法如下:
case $变量名 in“值 1”);;如果变量的值等于值1,则执行程序1,值2″)如果变量的值等于值2,则执行程序2…省略其他分支…*)如果变量的值都不是以上的值,则执行此程序;;esac
这条语句需要注意以下内容:
case 语句会取出变量中的值,然后与语句体中的值逐一比较。如果数值符合,则执行对应的程序;如果数值不符,则依次比较下一个值;如果所有的值都不符合,则执行”)”(”“代表所有其他值)中的程序。
case 语句以”case”开头,以”esac”结尾。
在每个分支程序之后要以”;;”(双分号)结尾,代表该程序段结束(千万不要忘记)。
注意,多分支 case 条件语句只能判断变量中的值到底是什么,而不能像多分支if语句那样,可以判断多个条件,所以多分支 case 条件语句更加适合单条件多分支的情况。比如,我们在系统中经常看到请选择”yes/no”,或在命令的输出中选择是执行第一个选项,还是执行第二个选项(fdisk 命令)。在这些情况下,使用 case 最为适合。我们写一个选择”yes/no”的例子,命令如下:
[root@localhost ~]# vi sh/case.sh#!/bin/bash#判断用户输入read -p “Please choose yes/no: ” -t 30 cho#在屏幕上输出”请选择yes/no”,然后把用户选择赋予变量chocase $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
解释一下脚本思路:请用户输入 yes 或 no,如果输入的是 yes,则输出”Your choose is yes!”;如果输入的是 no,则输出”Your choose is no!”;如果输入的是其他字符,则输出”Your choose is error!”。
关于如何分析Linux shell中的case语句就分享到这里啦,希望上述内容能够让大家有所提升。如果想要学习更多知识,请大家多多留意小编的更新。谢谢大家关注一下编程网网站!