Shell篇(2)-条件语句if及循环语句 for , while , unti
admin
2023-07-25 23:00:05
0

 if 条件语句:


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


 按结构分类可分为3类:


  1. 单分支结构:

      

      语法格式:

      if   条件测试          

      then

             命令

      fi

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

         Shell篇(2)-条件语句if及循环语句 for , while , unti

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


  

  2. 双分支结构:

      

      语法格式:

      if   条件测试

      then

             命令

      else

             命令

      fi

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

         Shell篇(2)-条件语句if及循环语句 for , while , unti

      由图可看出 , 复制给变量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

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

         Shell篇(2)-条件语句if及循环语句 for , while , unti

       运行脚本后 , 可以看出当输入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

        运行脚本 : 

        Shell篇(2)-条件语句if及循环语句 for , while , unti




 while循环语句:


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


   语法格式:

     

     while   条件测试

     do

          命令循环体

     done 

  

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

        Shell篇(2)-条件语句if及循环语句 for , while , unti


  while死循环(无限循环):

     

    语法格式 : 

    

     while  :

     do

          命令循环体

     done


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

        Shell篇(2)-条件语句if及循环语句 for , while , unti

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




  until循环语句:

    

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


    语法格式:


     until   条件测试

     do

          命令循环体

     done


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

         Shell篇(2)-条件语句if及循环语句 for , while , unti




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

        

        方法一 : 

        Shell篇(2)-条件语句if及循环语句 for , while , unti

        方法二 :

        Shell篇(2)-条件语句if及循环语句 for , while , unti

        方法三 : 

        Shell篇(2)-条件语句if及循环语句 for , while , unti

        方法四 : 

        Shell篇(2)-条件语句if及循环语句 for , while , unti




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


      例: 编写九九乘法表

      Shell篇(2)-条件语句if及循环语句 for , while , unti

      

        

        

          


       

相关内容

热门资讯

美官员:美伊计划于30日在卡塔... △卡塔尔首都多哈(资料图)总台记者当地时间6月28日获悉,一位美国高级官员透露,美伊双方已同意停止相...
普京:建议乌俄双方均停止打击对... 当地时间6月28日,俄罗斯总统普京向媒体表示,俄方建议俄乌双方均停止攻击对方领土的纵深目标,否则俄方...
伊朗缺席28日技术性谈判 △伊朗首都德黑兰(资料图)总台记者当地时间6月28日获悉,一位伊朗官员称,伊朗未参加原定于当天举行的...
普京称考虑全面禁止柴油出口 △当地时间28日,俄罗斯总统普京主持召开国内燃油市场保障会议。当地时间6月28日,俄罗斯总统普京在主...
委内瑞拉强震遇难人数升至145... △当地时间28日凌晨,委内瑞拉拉瓜伊拉州,震后救援现场。当地时间28日,委内瑞拉全国代表大会主席豪尔...
AI抢专家饭碗?一线社工被AI... “在AI时代,专家甚至可能不如豆包。我们现在去社区里,对方都说,豆包就能解决大部分问题。你们专家来,...
第十四届中俄(黑河)林草生态建... 科技日报记者 朱虹 通讯员 温浩 6月24日,第十四届中俄(黑河)林草生态建设学术论坛在黑龙江省黑河...
如何在沈阳筛选适配多场景的防爆... 在工业生产、现代农业、节能环保等多个领域,涉及易燃易爆介质的工况下,对测控仪表的防爆性能、测量精度都...
原创 预... 在预算三千内挑选手机,大家最看重颜值与实用性的完美结合。今天为大家盘点2000-3000元好看又好用...
原创 央... #央视曝手机测评作弊乱象 #,央视财经专项调查栏目曝光手机数码测评行业全链条作弊黑幕,完整揭露当下测...