Shell脚本编程概述(二):执行语句

一、顺序执行:

         自上而下逐条运行

 

二、选择执行:布尔型判断,if判断读取的是状态值

  1.单分支 if语句:代码有一个分支:条件满足时才会执行;

if  测试条件 ;then

if-ture-分支

fi

  2.双分支 if语句:两个或以上的分支:只会执行其中一个满足条件的分支;

if  测试条件; then

条件为真时执行的分支

else

条件为假时执行的分支

fi

  3.多分支 if语句:分支只会执行第一个测试值为真,然后结束

if  CONDITION1; then

条件1为真分支

elif  CONDITION2; then

条件2为真分支

...

elif  CONDITIONn; then

条件n为真分支

else

所有条件均不满足时的分支

fi

  4.多分支 case 语句

case语句的语法格式:

case  $VARAIBLE  in 

PAT1)

分支1

;;

PAT2)

分支2

;;

...

*)

分支n

;;

esac

注意:

    1) ;;双分号结尾,单分号表示结束,case是一直比较。可单独成行或者在最后一行命令最后

    2)  case支持glob风格的通配符:

 *:任意长度的任意字符;

 ?:任意单个字符;

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

 a|bab

 


三、循环执行:将一段代码(循环体)执行01或多次;

           进入条件:条件满足时进入循环

           退出条件:每个循环都应该有退出条件,以后有机会退出循环

  1.for循环

    for  VARAIBLE  in  LIST; do

循环体

    done

    注:LIST列表生成方式

    (a)直接给出;

    (b)整数列表 {start..end}  seq [start  [incremtal]] last

    (c)返回列表的命令

    (d)glob

    (e)变量引用 :$@, $*

     2) 控制变量

  2.while循环

while  CONDITION; do

循环体

循环控制变量修正表达式

done

进入条件:CONDITION测试为”真“

退出条件:CONDITION测试为”假“

  3.until循环

until  CONDITION; do

循环体

循环控制变量修正表达式

done

进入条件:CONDITION测试为""

退出条件:CONDITION测试为""

  4.break

  break:提前跳出循环

while  CONDITION1; do

CMD1

...

if  CONDITION2; then

break

fi

  5.continue

              continue:提前结束本轮循环,而直接进入下一轮循环判断;

while  CONDITION1; do

CMD1

...

if  CONDITION2; then

continue

fi

CMDn

...

done

 

 

四、一些特殊的执行顺序

  1.创建死循环

while true; do

循环体

done

  退出方式:某个测试条件满足时,让循环体执行break命令;

  2.sleep命令:睡眠命令

    - delay for a specified amount of time

sleep NUMBER   睡眠几秒

  3.while循环的特殊用法(遍历文件的行)

    while  read  VARIABLE; do

循环体;

    done  <  /PATH/FROM/SOMEFILE

      依次读取/PATH/FROM/SOMEFILE文件中的每一行,且将基赋值给VARIABLE变量

  4.for循环的特殊用法:

      for  ((控制变量初始化;条件判断表达式;控制变量的修正语句)); do

      循环体

      done

控制变量初始化:仅在循环代码开始运行时执行一次;

控制变量的修正语句:每轮循环结束会先进行控制变量修正运算,而后再做条件判断;


你可能感兴趣的:(break,for,if)