Linux中的流程控制语句

一、if语句

  1.单分支if条件语句

    格式:if [ 条件判断式 ]          

        then

          程序

          fi

    注意:1.在Linux中是以if开头,fi结尾。其他地方一般是{开头,}结尾。

       2.在条件判断式的两边,必须要有空格

    实例:判断根分区使用大小是否大于百分之1,如果大于则提示。

       

  2.双分支if条件语句

    格式:if  [ 条件判断式 ]

         then

             条件成立时,执行程序

         else

             条件不成立时,执行另一个程序

        fi

    实例1:备份/home/zrq目录

      

  实例2:通过脚本判断apache是否启动,如果没有启动就启动后记录。

      

  3.多分支if条件语句

    格式:  if  [ 条件判断式1 ]

              then

                当条件判断式1成立时,执行程序1

                exit ?    #注意:这里exit是跳出此次程序并报出?的返回值,这里?是你自己输入的。如果echo $? 可查看当前返回值

         elif  [ 条件片段式2 ]

              then

                当条件判断式2成立时,执行程序2

                exit?     #注意:这里exit是跳出此次程序并报出?的返回值,这里?是你自己输入的。如果echo $? 可查看当前返回值

         ...省略更多条件

         else  

               当所有条件均不成立时,最后执行此程序

         fi

    注意:每个elif后面都是有then的,只有else后面才没有

    实例:通过脚本判断文件类型。

      

二、case语句

  解析:case 语句和if...elif...else语句一样,是多分支条件语句,但是case只能判断一种条件关系,if可以判断多种条件语句。

  格式:  case  $变量名  in

         "值1")

           如果变量的值等于值1,则执行程序1

              ;;

         "值2")

           如果变量的值等于值2,则执行程序2

             ;;

         。。。

         省略其他分支   

         *)

           如果变量的值都不等于以上分支,则执行此程序

              ;;

        esac

   注意:case的结尾是esac,并且每个程序段有两个分号;;。

三、for循环

  语法1.  for 变量名 in 值1 值2 值3 ...

        do

          程序

        done

  注意:这里,会把值1赋予变量,然后执行一遍程序,然后再把值2赋予变量在执行程序,如此反复直到最后一个值执行完毕。而且只要值与值之间有空格或者换行符,就会认为是一个值了

  实例:

    

  语法2: for ((初始值;循环控制条件;变化量))

        do

          程序

        done

  实例:

      

四、while循环与until循环

  解析:while循环是不定性循环,只要条件满足就会一直循环,直到条件判断式不成立。这跟for的固定循环就不一样了。

  格式:while [ 条件判断式 ]

       do

         程序

       done

   注意:只要条件判断式满足,就会一直执行。 

   实例:

     

解析:until循环是不定性循环,与while相反只要条件不满足就会一直循环,一旦条件判断式不成立。则停止。

  格式:until [ 条件判断式 ]

       do

         程序

       done

   注意:只要条件判断式不满足,就会一直执行。 

   实例:

      

Day13 流程控制的更多相关文章

  1. 第10章 Shell编程(4)_流程控制

    5. 流程控制 5.1 if语句 (1)格式: 格式1 格式2 多分支if if [ 条件判断式 ];then #程序 else #程序 fi if [ 条件判断式 ] then #程序 else # ...

  2. Shell命令和流程控制

    Shell命令和流程控制 在shell脚本中可以使用三类命令: 1)Unix 命令: 虽然在shell脚本中可以使用任意的unix命令,但是还是由一些相对更常用的命令.这些命令通常是用来进行文件和文字 ...

  3. PHP基础知识之流程控制的替代语法

    PHP 提供了一些流程控制的替代语法,包括 if,while,for,foreach 和 switch. 替代语法的基本形式是把左花括号({)换成冒号(:),把右花括号(})分别换成 endif;,e ...

  4. Python黑帽编程2.4 流程控制

    Python黑帽编程2.4  流程控制 本节要介绍的是Python编程中和流程控制有关的关键字和相关内容. 2.4.1 if …..else 先上一段代码: #!/usr/bin/python # - ...

  5. 使用yield进行异步流程控制

    现状 目前我们对异步回调的解决方案有这么几种:回调,deferred/promise和事件触发.回调的方式自不必说,需要硬编码调用,而且有可能会出现复杂的嵌套关系,造成"回调黑洞" ...

  6. [Java入门笔记] Java语言基础(四):流程控制

    流程控制指的是在程序运行的过程中控制程序运行走向的方式.主要分为以下几种: 顺序结构 顺序结构,顾名思义,是指程序从上往下逐步顺序执行.中间没有任何的判断和跳转. 分支结构 Java提供两种分支结构: ...

  7. node基础13:异步流程控制

    1.流程控制 因为在node中大部分的api都是异步的,比如说读取文件,如果采用回调函数的形式,很容易造成地狱回调,代码非常不容易进行维护. 因此,为了解决这个问题,有大神写了async这个中间件.极 ...

  8. Shell入门教程:流程控制(1)命令的结束状态

    在Bash Shell中,流程控制命令有2大类:“条件”.“循环”.属于“条件”的有:if.case:属于“循环”的有:for.while.until:命令 select 既属于“条件”,也属于“循环 ...

  9. Oracle中PL/SQL的执行部分和各种流程控制

    Oracle中PL/SQL的执行部分和异常部分 一.PL/SQL的执行部分. 赋值语句. 赋值语句分两种,一种是定义一个变量,然后接收用户的IO赋值:另一种是通过SQL查询结果赋值. 用户赋值举例: ...

随机推荐

  1. web 移动端 横向滚动的阻尼感很强,滑动不灵敏

    在添加 overflow-x: scroll的元素里增加如下style overflow-x: scroll; -webkit-overflow-scrolling: touch; //关键点

  2. vijos 1011 清帝之惑之顺治

    背景 顺治帝福临,是清朝入关后的第一位皇帝.他是皇太极的第九子,生于崇德三年(1638)崇德八年八月二ten+six日在沈阳即位,改元顺治,在位18年.卒于顺治十八年(1661),终24岁. 顺治即位 ...

  3. Python基础知识(day1)

    day1 1.编码 ASCII码 1字节8位 2^8 = 256 位 万国码 unicode 4字节32位 #浪费空间 UTF-8 对unicode进行压缩 2.注释 单行注释 score = inp ...

  4. (27)ASP.NET Core .NET标准REST库Refit

    1.简介 Refit是一个受到Square的Retrofit库(Java)启发的自动类型安全REST库.通过HttpClient网络请求(POST,GET,PUT,DELETE等封装)把REST AP ...

  5. 编译putty 源码去掉 Are you sure you want to close this session? 提示

    0, 为什么要编译 putty ?在关闭窗口的时候,会弹出一个 Are you sure you want to close this session?要把这个去掉.当然也可以用 OD 之类的来修改. ...

  6. RIP实验

    实验要求 1.  理解 RIP 协议的工作原理2.  理解 RIPv1.RIPv2 的特性3.  掌握 RIP 协议的基本配置方法4.  掌握 RIP 自动汇总和手动汇总的方法5.  掌握 RIP 配 ...

  7. 《ASP.NET Core 3框架揭秘》博文汇总

    在过去一段时间内,写了一系列关于ASP.NET Core 3相关的文章,其中绝大部分来源于即将出版的<ASP.NET Core 3框架揭秘>(博文只能算是"初稿",与书 ...

  8. MATLAB神经网络(3) 遗传算法优化BP神经网络——非线性函数拟合

    3.1 案例背景 遗传算法(Genetic Algorithms)是一种模拟自然界遗传机制和生物进化论而形成的一种并行随机搜索最优化方法. 其基本要素包括:染色体编码方法.适应度函数.遗传操作和运行参 ...

  9. Java反射之成员方法的反射

    上一篇介绍了Java反射之成员变量的反射,这次介绍成员方法的反射. [一]Method类 Method类中封装了所有java方法的属性,包括该方法是否私有,该方法的修饰符,返回值,参数,抛的错误等等. ...

  10. git密令使用

    git密令是一种非常好用的代码版本管理工具,相比SVN,Sourcetree 使用起来复杂,主要是没有汉化包,当你使用熟练时,其实也是非常简单的,逼格高. 具体使用如下: 情景一:你只有远程库,没有本 ...