我的朗科运维第八课

  

案例分支选择结构:

,,,,情况下词(模式[|模式]…)命令;;)……esac

,,,,情况变量引用拷贝,,,

,,,,,,,,模式1)

,,,,,,,,,,,,分支1

,,,,,,,,,,,,,,

,,,,,,,,模式2)

,,,,,,,,,,,,分支2

,,,,,,,,,,,,,,

,,,,,,,,…

,,,,,,,, *)

,,,,,,,,,,,,默认分支

,,,,,,,,,,,

,,,, esac

模式(模式):

,,,, 1。普通的文本字符

,,, 2。globbing风格的通配符

,,,,,,,, *:任意长度任意字符

,,,,,,,, ?:任意的单个字符

,,,,,,,,[]:范围内的任意单个字符

,,,,,,,,[^]:范围外的任意单个字符

,,, 3。|:或

例:提示用户输入信息,然后判断用户输入的信息是否合法;

# !/bin/bash   #   read  -p “Please  make  your 选择[yes  of 没有]:,“,选择   case  CHOICE 美元   ,,,是的|是的)   ,,,,,,,echo “正确”。   ,,,,,,,;;   ,,,没有|)   ,,,,,,,echo “错了。”   ,,,,,,,;;   ,,,*)   ,,,,,,,echo “未知”。   ,,,,,,,;;   esac

如果的分支结构和情况下的分支结构之间的区别:

,,,,相同点:

,,,,,,,, 1。都是条件为真,执行对应分支的语句;条件为假,就不执行;

,,,,,,,, 2。都可以设置默认分支语句,即:所有条件都不匹配的时候,所执行的语句;

,,,,不相同点:

,,,,,,,, 1。如果是根据命令的执行状态返回值来判断正确与否;案例是根据变量的值的取值内容是否匹配模式来判断正确与否;

,,,,,,,, 2。案件的每个分支都必须使用”;,“结束;

而与直到循环结构:

,,,,而

,,,,,,,,,命令;做命令;做

,,,,,,,,虽然条件;做

,,,,,,,,,,,,循环体

,,,,,,,, done ,,,

,,,,,,,,,,,,进入循环条件:条件一直为真

,,,,,,,,,,,,退出循环条件:条件为假

,,直到

,,,,,,,,直到命令;做命令;做

,,,,,,,,,直到条件;做

,,,,,,,,,,,,循环体

,,,,,,,,做

,,,,,,,,,,,,进入循环条件:条件一直为假

,,,,,,,,,,,,退出循环条件:条件为假

其中:当条件;CMD;完成相当于之前!条件;CMD;做

注意:对于虽然和之前两个循环结构来讲,如果要实施变量增量操作,必须手动给出;

例:利用,和直到循环结构,计算100年以内所有整数的和,

# !/bin/bash   #   declare 我;我=1   while [,小姐:美元-lt  100年,),,,   ,,,let 和+=$ I   ,,,let  l + +   完成   echo 美元金额      # !/bin/bash   #   declare 我;我=1   until [,小姐:美元-gt  100年,),,,   ,,,let 和+=$ I   ,,,let 我+ +   完成   echo  $ 和

循环控制语句:

,,,, continue ,

,,,,打破

继续:

,,,,继续[n]

,,,,提前结束第n层的本次循环,直接进入下一轮条件判断,若符合循环进入条件,则开启下一轮循环;

打破:

,,,,打破[n]

,,,,提前结束第n层循环;不再继续后续循环;

无限循环用法:

,,,,,而真实;做

,,,,,,,,循环体

,,,,做


,,,,,直到错误;null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

我的朗科运维第八课