if 条件语句:


    介绍及作用 : 根据指定的条件来判断其“真”(TRUE)、“假”(FALSE),根据逻辑计算的真假值,从而返回相应的内容。


 按结构分类可分为3类:


  1. 单分支结构:

      

      语法格式:

      if   条件测试          

      then

             命令

      fi

      例 : 给 x, y赋值 , 测试x , y 是否相等 , 相等则输出true

         Shell篇(2)-条件语句if及循环语句 for , while , unti_第1张图片

      由图可看出 , 复制给变量x , y同意的值 , 用if语句来判断 , 输出的结果为true, 之后赋给y一个不同值的时候 , 输出结果为无


  

  2. 双分支结构:

      

      语法格式:

      if   条件测试

      then

             命令

      else

             命令

      fi

      例 : 按照上面的例子 , 给 x, y赋值 , 测试x , y 是否相等 , 相等则输出true , 不相等则输出 false

         Shell篇(2)-条件语句if及循环语句 for , while , unti_第2张图片

      由图可看出 , 复制给变量x , y同意的值 , 用if语句来判断 , 输出的结果为true, 之后赋给y一个不同值的时候 , 输出结果为false


  3. 多分支结构:

      

      语法格式:

      if   条件测试

      then

             命令

      elif   条件2 

      then 

             命令

      else

             命令

      then 

      fi

      例 : 猜测 x 值的大小 , 创建一个名为 /sh/cai.sh 的脚本 , 使用vim编辑这个文件 , 在里面写入命令 :

         Shell篇(2)-条件语句if及循环语句 for , while , unti_第3张图片

        (read  -p  表示提示输入字符)

         Shell篇(2)-条件语句if及循环语句 for , while , unti_第4张图片

       运行脚本后 , 可以看出当输入123时 , 显示的是 you are right ;  输入大于123的数字时 , 显示的是 this number is big; 输入小于123的数值时 , 显示的是 this number is little ;




 for循环语句:

     

    功能 : 在满足条件的情况下 , 重复执行某些命令的操作


    结构:

    

     for  i  in  值1  值2   值3   ...   值n

     do

          命令列表

     done


     例 : 编写一个名为 /sh/mkdir.sh 的脚本文件 , 要求批量创建 /test/m1~/test/m6 这些目录 , 脚本内容如下 :

        Shell篇(2)-条件语句if及循环语句 for , while , unti_第5张图片

        运行脚本 : 

        Shell篇(2)-条件语句if及循环语句 for , while , unti_第6张图片




 while循环语句:


    功能 : 在满足条件时 , 重复的执行脚本中while语句中的 do 和 done 中间的命令循环体命令 ,直到条件不满足时就停止循环


   语法格式:

     

     while   条件测试

     do

          命令循环体

     done 

  

    例 :在命令行中执行命令 , 实现输出10以内的正整数

        Shell篇(2)-条件语句if及循环语句 for , while , unti_第7张图片


  while死循环(无限循环):

     

    语法格式 : 

    

     while  :

     do

          命令循环体

     done


    例 : 执行如下while死循环语句,实现每隔2秒输出echo命令的中的文本内容。[按ctrl+c强制终止死循环]

        Shell篇(2)-条件语句if及循环语句 for , while , unti_第8张图片

        执行语句后 , 系统会每隔2S输出"I love you !"




  until循环语句:

    

     功能 : 和while意思相反 ,即重复的执行脚本中until语句中的 do 和 done 中间的命令循环体命令 ,直到条件满足时就停止循环


    语法格式:


     until   条件测试

     do

          命令循环体

     done


     例 : 在命令行中执行如下操作,实现用until循环来输出1~10这些数

         Shell篇(2)-条件语句if及循环语句 for , while , unti_第9张图片




  实例一 : 编写 1 + 2 + 3 + 4 +  ..  +100 的和的脚本

        

        方法一 : 

        image.png

        方法二 :

        Shell篇(2)-条件语句if及循环语句 for , while , unti_第10张图片

        方法三 : 

        Shell篇(2)-条件语句if及循环语句 for , while , unti_第11张图片

        方法四 : 

        Shell篇(2)-条件语句if及循环语句 for , while , unti_第12张图片




  嵌套循环 :循环体中可嵌套多个循环


      例: 编写九九乘法表

      Shell篇(2)-条件语句if及循环语句 for , while , unti_第13张图片